独立部署指南
为测试和概念验证环境创建一个 all-in-one OpenStack 云
摘要
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对文档提供反馈信息。与我们分享您的成功秘诀。
在 JIRA 中提供文档反馈
使用 Create Issue 表单对文档提供反馈。JIRA 问题将在 Red Hat OpenStack Platform Jira 项目中创建,您可以在其中跟踪您的反馈进度。
- 确保您已登录到 JIRA。如果您没有 JIRA 帐户,请创建一个帐户来提交反馈。
- 点击以下链接打开 Create Issue 页面: Create Issue
- 完成 Summary 和 Description 字段。在 Description 字段中,包含文档 URL、章节或章节号以及问题的详细描述。不要修改表单中的任何其他字段。
- 点 Create。
第 1 章 All-in-one Red Hat OpenStack Platform 安装 复制链接链接已复制到粘贴板!
all-in-one 安装方法使用 TripleO 使用简单的单节点环境部署 Red Hat OpenStack Platform 和相关服务。使用这个安装,在单个节点上启用概念验证、开发和测试部署,且在一个有限或无后续操作的情况下进行部署。
该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
1.1. 前提条件 复制链接链接已复制到粘贴板!
- 您的系统必须安装有 Red Hat Enterprise Linux 8.4 基础操作系统。
- 您的系统必须有两个网络接口,以便在 TripleO 配置第二个接口时不会中断互联网连接。
- 您的系统必须具有 4 个 CPU、8GB RAM 和 30GB 磁盘空间。
网络配置示例
-
分配给默认网络 192.168.122.0/24
的接口eth0。使用此接口进行常规连接。这个接口必须访问互联网。 -
分配给
management网络 192.168.25.0/24 的接口eth1。tripleo 将此接口用于 OpenStack 服务。
第 2 章 一台 Red Hat OpenStack Platform 环境概述 复制链接链接已复制到粘贴板!
在这种情况下,在 all-in-one Red Hat OpenStack Platform (RHOSP)环境中,不存在已存在的 undercloud 依赖项。相反,安装程序会运行内联 heat-all 实例来引导部署过程,并将所选 heat 模板转换为可以在本地计算机上执行的 Ansible playbook。
如果要执行复杂的操作,您必须部署生产级别的扩展云。
工作流
要安装、配置和部署简单的单节点 RHOSP 环境,请在以下工作流中完成任务:
- 准备您的环境。
- 为 all-in-one 环境安装软件包。
- 配置 all-in-one 环境。
- 部署 all-in-one 环境。
All-in-one 安装的好处
- 可组合的服务。
- 预定义的角色。
- 密度的单节点环境。
- 可用于在容器中运行小页安装程序并生成 Ansible playbook 的 playbook。
配置
如果要试验配置角色和服务,请参阅 第 8 章 使用自定义角色和服务 和 第 7.1 节 “核心 heat 模板”。
可组合角色
您可以创建自定义可组合角色,并为每个角色部署特定的服务。
Ansible
此安装通过部署命令自动应用 Ansible playbook。您还可以指示部署命令输出您可以在其他环境中使用的 Ansible playbook。例如,您可以在 all-in-one 安装中完成测试,然后将验证的 Ansible playbook 应用到其他环境。
第 3 章 安装 all-in-one Red Hat OpenStack Platform 环境 复制链接链接已复制到粘贴板!
在开始配置、部署和测试所有环境前,您必须配置非 root 用户并安装必要的软件包和依赖项:
流程
在 all-in-one 主机上创建一个非 root 用户:
useradd stack
[root@all-in-one]# useradd stackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 设置
stack用户的密码:passwd stack
[root@all-in-one]# passwd stackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为
stack用户禁用sudo命令的密码要求:echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack chmod 0440 /etc/sudoers.d/stack
[root@all-in-one]# echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack [root@all-in-one]# chmod 0440 /etc/sudoers.d/stackCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以非 root 用户身份登录到 all-in-one 主机:
ssh stack@<all-in-one>
$ ssh stack@<all-in-one>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Red Hat Subscription Manager 注册机器。在提示符处输入您的红帽订阅凭证:
sudo subscription-manager register
[stack@all-in-one]$ sudo subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将您的红帽订阅附加到授权服务器:
sudo subscription-manager attach --auto
[stack@all-in-one]$ sudo subscription-manager attach --autoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意--auto选项可能无法订阅正确的订阅池。确保您订阅了正确的池,否则您可能无法为这个安装启用所有所需的软件仓库。使用subscription-manager list --all --available命令来识别正确的池 ID。将 undercloud 锁定到 Red Hat Enterprise Linux 8.4:
sudo subscription-manager release --set=8.4
$ sudo subscription-manager release --set=8.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令安装
dnf-utils,禁用所有默认存储库,然后启用必要的存储库:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意all-in-one 环境是 Red Hat OpenStack Platform 16 中的技术预览功能。
设置
container-tools模块版本:sudo dnf module disable -y container-tools:rhel8 sudo dnf module enable -y container-tools:3.0
[stack@all-in-one]$ sudo dnf module disable -y container-tools:rhel8 [stack@all-in-one]$ sudo dnf module enable -y container-tools:3.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新基础操作系统并重启系统:
sudo dnf update sudo reboot
[stack@all-in-one]$ sudo dnf update [stack@all-in-one]$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 重新引导后重新登录主机。
安装 TripleO 命令行界面(CLI):
sudo dnf install -y python3-tripleoclient
[stack@all-in-one]$ sudo dnf install -y python3-tripleoclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 4 章 配置 all-in-one Red Hat OpenStack Platform 环境 复制链接链接已复制到粘贴板!
在部署 all-in-one RHOSP 环境前,您必须手动创建以下配置文件:
-
$HOME/containers-prepare-parameters.yaml -
$HOME/standalone_parameters.yaml
如果要自定义用于开发或测试的 all-in-one 环境,请编辑以下配置文件:
-
/usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml -
/usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
要生成 containers-prepare-parameters.yaml 和 standalone_parameters.yaml 文件,请完成以下步骤:
生成包含默认
ContainerImagePrepare参数的containers-prepare-parameters.yaml文件:sudo openstack tripleo container image prepare default --output-env-file $HOME/containers-prepare-parameters.yaml
[stack@all-in-one]$ sudo openstack tripleo container image prepare default --output-env-file $HOME/containers-prepare-parameters.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
containers-prepare-parameters.yaml文件,并在ContainerImageRegistryCredentials参数中包含您的红帽凭证,以便部署过程可以使用 registry.redhat.io 进行身份验证,并成功拉取容器镜像:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意为了避免以纯文本形式输入密码,请创建一个 Red Hat Service Account。如需更多信息,请参阅 Red Hat Container Registry 身份验证 :
在
containers-prepare-parameters.yaml中将ContainerImageRegistryLogin参数设置为true:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要使用 all-in-one 主机作为容器 registry,省略此参数,并在
openstack tripleo container image prepare命令中包含--local-push-destination。如需更多信息,请参阅 准备容器镜像。创建
$HOME/standalone_parameters.yaml文件,并为 all-in-one RHOSP 环境配置基本参数,包括网络配置和一些部署选项。在本例中,网络接口eth1是您用于部署 RHOSP 的管理网络上的接口。eth1具有 IP 地址 192.168.25.2 :Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您必须使用 DNS 地址配置
DnsServers参数。您可以在/etc/resolv.conf文件中找到这个地址:[stack@all-in-one]$ cat /etc/resolv.conf 192.168.122.1
[stack@all-in-one]$ cat /etc/resolv.conf 192.168.122.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果只使用单个网络接口,则必须定义默认路由:
ControlPlaneStaticRoutes: - ip_netmask: 0.0.0.0/0 next_hop: $GATEWAY default: trueControlPlaneStaticRoutes: - ip_netmask: 0.0.0.0/0 next_hop: $GATEWAY default: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您有内部时间源,或者您的环境阻止访问外部时间源,请使用
NtpServer参数定义您要使用的时间源:parameter_defaults: NtpServer: clock.example.com
parameter_defaults: NtpServer: clock.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要在虚拟环境中使用 all-in-one RHOSP 安装,则必须使用
NovaComputeLibvirtType参数定义虚拟化类型:parameter_defaults: NovaComputeLibvirtType: qemu
parameter_defaults: NovaComputeLibvirtType: qemuCopy to Clipboard Copied! Toggle word wrap Toggle overflow 负载均衡服务(octavia)不需要您配置 SSH。但是,如果您想要 SSH 访问负载均衡实例(amphorae),请添加
OctaviaAmphoraSshKeyFile参数,其值带有 stack 用户的公钥文件的绝对路径:OctaviaAmphoraSshKeyFile: "/home/stack/.ssh/id_rsa.pub"
第 5 章 部署 all-in-one Red Hat OpenStack Platform 环境 复制链接链接已复制到粘贴板!
流程
使用您的红帽凭证登录到 registry.redhat.io:
sudo podman login registry.redhat.io
[stack@all-in-one]$ sudo podman login registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 导出部署命令使用的环境变量。在本例中,使用在管理网络上 IP 地址 192.168.25.2 的
eth1接口部署 all-in-one 环境:export IP=192.168.25.2 export NETMASK=24 export INTERFACE=eth1
[stack@all-in-one]$ export IP=192.168.25.2 [stack@all-in-one]$ export NETMASK=24 [stack@all-in-one]$ export INTERFACE=eth1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置主机名。如果节点使用 localhost.localdomain,部署将失败。
hostnamectl set-hostname all-in-one.example.net hostnamectl set-hostname all-in-one.example.net --transient
[stack@all-in-one]$ hostnamectl set-hostname all-in-one.example.net [stack@all-in-one]$ hostnamectl set-hostname all-in-one.example.net --transientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入部署命令。确保包含与环境相关的所有
.yaml文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
部署后,您可以使用 /home/$USER/.config/openstack 目录中的 clouds.yaml 配置文件来查询并验证 OpenStack 服务:
export OS_CLOUD=standalone openstack endpoint list
[stack@all-in-one]$ export OS_CLOUD=standalone
[stack@all-in-one]$ openstack endpoint list
要访问仪表板,请访问 http://192.168.25.2/dashboard,并使用 ~/standalone-passwords.conf 文件中的默认用户名 admin 和 undercloud_admin_password :
cat standalone-passwords.conf | grep undercloud_admin_password:
[stack@all-in-one]$ cat standalone-passwords.conf | grep undercloud_admin_password:
部署命令会自动将 Ansible playbook 应用到环境。但是,您可以修改部署命令来生成 Ansible playbook,而不将它们应用到部署,并在稍后运行 playbook。
在 deploy 命令中包含 --output-only 选项,以生成 standalone-ansible-XXXXX 目录。此目录包含一组可以在其他主机上运行的 Ansible playbook。
流程
要生成 Ansible playbook 目录,请输入带有
--output-only选项的 deploy 命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行 Ansible playbook,请输入
ansible-playbook命令,并包含inventory.yaml文件和deploy_steps_playbook.yaml文件:cd standalone-ansible-XXXXX sudo ansible-playbook -i inventory.yaml deploy_steps_playbook.yaml
[stack@all-in-one]$ cd standalone-ansible-XXXXX [stack@all-in-one]$ sudo ansible-playbook -i inventory.yaml deploy_steps_playbook.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 7 章 使用 heat 模板 复制链接链接已复制到粘贴板!
使用 heat 模板和环境文件来定义 overcloud 的某些方面。
heat 模板的结构有三个主要部分:
参数
参数是传递到 heat 的设置。使用这些参数定义和自定义默认值和非默认值。在模板的 parameter 部分中定义这些参数。
Resources
资源是您要作为堆栈的一部分创建和配置的特定对象。RHOSP 包含所有组件中的一组核心资源。
输出
这些是在堆栈创建后从 heat 传递的值。您可以通过 heat API 或客户端工具访问这些值。在模板的 output 部分中定义这些值。
当 heat 处理模板时,它会从模板创建堆栈,并为资源模板创建一组子堆栈。这种堆栈层次结构来自您使用模板定义的主堆栈。您可以使用以下命令查看堆栈层次结构:
heat stack-list --show-nested
$ heat stack-list --show-nested
7.1. 核心 heat 模板 复制链接链接已复制到粘贴板!
Red Hat OpenStack Platform (RHOSP)包含 overcloud 的核心 heat 模板集合。您可以在 /usr/share/openstack-tripleo-heat-templates 目录中找到此集合。
此集合中有很多 heat 模板和环境文件。您可以使用主文件和目录来自定义部署。
overcloud.j2.yaml
此模板文件创建 overcloud 环境。它使用 Jinja2 语法,并迭代模板中的某些部分以创建自定义角色。在 overcloud 部署期间,director 将 Jinja2 格式呈现为 YAML。
overcloud-resource-registry-puppet.j2.yaml
此环境文件创建 overcloud 环境。它包含 overcloud 镜像上 Puppet 模块的一组配置。在 director 将 overcloud 镜像写入每个节点后,Heat 会使用在此环境文件中注册的资源启动每个节点的 Puppet 配置。此文件使用 Jinja2 语法,并迭代模板中的某些部分以创建自定义角色。在 overcloud 部署期间,director 将 Jinja2 格式呈现为 YAML。
roles_data.yaml
此文件包含 overcloud 中角色的定义,并将服务映射到每个角色。
network_data.yaml
此文件包含 overcloud 中网络的定义及其属性,包括子网、分配池和 VIP 状态。默认 network_data.yaml 文件仅包含默认网络: External、Internal Api、Storage、Storage Management、Tenant 和 Management。您可以创建自定义 network_data.yaml 文件,并使用 -n 选项将其包含在 openstack overcloud deploy 命令中。
plan-environment.yaml
此文件包含您的 overcloud 计划元数据的定义,包括计划名称、您要使用的主模板,以及您要应用到 overcloud 的环境文件。
capabilities-map.yaml
此文件包含 overcloud 计划的环境文件映射。使用此文件在 director Web UI 中描述和启用环境文件。如果您在 environment 目录中包含自定义环境文件,但没有在 capabilities-map.yaml 文件中定义这些文件,您可以在 web UI 的 Overall Settings 页面的 Other 子选项卡中找到这些环境文件。
environments
此目录包含可用于创建 overcloud 的其他 heat 环境文件。这些环境文件为您的 RHOSP 环境启用额外的功能。例如,您可以使用 cinder-netapp-config.yaml 环境文件为块存储服务 (cinder) 启用第三方后端存储选项。如果您在 environment 目录中包含自定义环境文件,但没有在 capabilities-map.yaml 文件中定义这些文件,您可以在 web UI 的 Overall Settings 页面的 Other 子选项卡中找到这些环境文件。
network
此目录包含一组 heat 模板,可用于创建隔离的网络和端口。
puppet
此目录包含 puppet 模板。overcloud-resource-registry-puppet.j2.yaml 环境文件使用 puppet 目录中的文件驱动每个节点上的 Puppet 配置应用。
puppet/services
此目录包含可组合服务架构中所有服务的 heat 模板。
extraconfig
此目录包含可用于启用额外功能的模板。例如,您可以使用 extraconfig/pre_deploy/rhel-registration 目录在 Red Hat Content Delivery 网络或您自己的 Red Hat Satellite 服务器中注册节点。
第 8 章 使用自定义角色和服务 复制链接链接已复制到粘贴板!
all-in-one Red Hat OpenStack Platform (RHOSP)安装在一个包含所有 OpenStack 服务的单个节点上运行。
/usr/share/openstack-tripleo-heat-templates/roles 目录中的 Standalone.yaml 角色文件是包含 all-in-one 安装中所有服务的配置文件。您可以复制并修改 Standalone.yaml 角色文件,以在安装时启用和禁用服务。
Standalone.yaml 文件包含 Standalone 角色中的服务列表。使用以下示例了解此文件的语法:
在部署命令中包括此角色文件,以使用 Standalone 角色配置堆栈,该角色包含您在角色文件的 ServicesDefault: 部分中包含的服务:
sudo openstack tripleo deploy --templates -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
[stack@all-in-one]$ sudo openstack tripleo deploy --templates -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
但是,在生产环境中,Red Hat OpenStack Platform 环境中,您可以使用包含部分 OpenStack 服务的角色,而不是包括单一节点上的所有服务。例如,默认 Controller 角色包括管理、网络和高可用性服务,默认的 Compute 角色包括计算服务。多节点环境中的默认角色文件是 /usr/share/openstack-tripleo-heat-templates/roles_data.yaml 文件。此文件定义以下角色类型:
- Controller
- Compute
- BlockStorage
- ObjectStorage
- CephStorage
使用以下示例了解多节点环境中的角色语法:
----' - name: Controller description: | Controller 角色,其中包含数据库、消息传递和网络功能的所有服务。ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient … - name: Compute description: | Basic Compute Node role ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient … ----'
每次输入部署命令时都必须包含角色文件。您可以使用 deployment 命令中的 -r 参数覆盖此文件并使用自定义角色文件:
----' [stack@all-in-one\":\" sudo openstack tripleo deploy --templates -r ~/templates/roles_data-custom.yaml ----'
8.1. 在 all-in-one Red Hat OpenStack Platform 环境中启用和禁用服务 复制链接链接已复制到粘贴板!
要在您的环境中启用或禁用单个服务,请完成以下步骤:
流程
要启用服务,请创建新环境文件并从您要启用的服务中删除
OS::114::None的值:- OS::TripleO::Services::<SERVICE>:
- OS::TripleO::Services::<SERVICE>:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在部署命令中包括此环境文件。
要禁用服务,请创建一个新环境文件,并为您要禁用的服务包含
OS::114::None的值:- OS::TripleO::Services::<SERVICE>: OS::Heat::None
- OS::TripleO::Services::<SERVICE>: OS::Heat::NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在部署命令中包括此环境文件。
第 9 章 例子 复制链接链接已复制到粘贴板!
使用以下示例了解如何在带有各种网络配置的部署后启动计算实例。
9.1. 示例 1:在项目和提供商网络中使用一个 NIC 启动实例 复制链接链接已复制到粘贴板!
在部署 all-in-one Red Hat OpenStack Platform (RHOSP)环境后,使用私有项目网络和提供商网络启动实例。以下示例基于单个 NIC 配置,且至少需要三个 IP 地址。
前提条件
- OpenStack 服务的 IP 地址。
- 虚拟路由器提供一个 IP 地址,用于提供与项目网络的连接。本例中会自动分配这个 IP 地址。
- 至少一个用于提供商网络上的浮动 IP 地址的 IP 地址。
流程
创建配置帮助程序变量:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建基本类别:
openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
$ openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tinyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 下载 CirrOS 并创建 OpenStack 镜像:
wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
$ wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img $ openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 SSH:
ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub default
$ ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem $ openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个简单的网络安全组:
openstack security group create basic
$ openstack security group create basicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置新的网络安全组:
启用 SSH:
openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
$ openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 ping:
openstack security group rule create --protocol icmp basic
$ openstack security group rule create --protocol icmp basicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 DNS:
openstack security group rule create --protocol udp --dst-port 53:53 basic
$ openstack security group rule create --protocol udp --dst-port 53:53 basicCopy to Clipboard Copied! Toggle word wrap Toggle overflow
创建 Neutron 网络:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建虚拟路由器:
# NOTE: In this case an IP will be automatically assigned # from the allocation pool for the subnet. openstack router create vrouter openstack router set vrouter --external-gateway public openstack router add subnet vrouter private-net
# NOTE: In this case an IP will be automatically assigned # from the allocation pool for the subnet. $ openstack router create vrouter $ openstack router set vrouter --external-gateway public $ openstack router add subnet vrouter private-netCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建浮动 IP:
openstack floating ip create public
$ openstack floating ip create publicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动实例:
openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserver
$ openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 分配浮动 IP:
openstack server add floating ip myserver <FLOATING_IP>
$ openstack server add floating ip myserver <FLOATING_IP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<FLOATING_IP>替换为您创建的浮动 IP 地址。
-
将
测试 SSH:
ssh cirros@<FLOATING_IP>
ssh cirros@<FLOATING_IP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<FLOATING_IP>替换为您创建的浮动 IP 地址。
-
将
网络架构
9.2. 示例 2:在提供商网络中使用一个 NIC 启动实例 复制链接链接已复制到粘贴板!
在部署 all-in-one Red Hat OpenStack Platform 环境后,请使用提供商网络启动实例。这个示例基于单个 NIC 配置,且至少需要 4 个 IP 地址。
前提条件
- OpenStack 服务的 IP 地址。
- 虚拟路由器提供一个 IP 地址,用于提供与项目网络的连接。本例中会自动分配这个 IP 地址。
- 提供商网络上 DHCP 的一个 IP 地址。
- 至少一个用于提供商网络上的浮动 IP 地址的 IP 地址。
流程
创建配置帮助程序变量:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建基本类别:
openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
$ openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tinyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 下载 CirrOS 并创建 OpenStack 镜像:
wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
$ wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img $ openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 SSH:
ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub default
$ ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem $ openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个简单的网络安全组:
openstack security group create basic
$ openstack security group create basicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置新的网络安全组:
启用 SSH:
openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
$ openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 ping:
openstack security group rule create --protocol icmp basic
$ openstack security group rule create --protocol icmp basicCopy to Clipboard Copied! Toggle word wrap Toggle overflow
创建 Neutron 网络:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动实例:
openstack server create --flavor tiny --image cirros --key-name default --network public --security-group basic myserver
$ openstack server create --flavor tiny --image cirros --key-name default --network public --security-group basic myserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 测试 SSH:
ssh cirros@<VM_IP>
ssh cirros@<VM_IP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<VM_IP> 替换为您创建的虚拟机的地址。
-
将
网络架构
9.3. 示例 3:启动在项目和提供商网络上有两个 NIC 的实例 复制链接链接已复制到粘贴板!
在部署 all-in-one Red Hat OpenStack Platform 环境后,请使用私有项目网络和提供商网络启动实例。这个示例基于双 NIC 配置,且在提供商网络中至少需要 4 个 IP 地址。
先决条件
- 提供商网络上网关的一个 IP 地址。
- OpenStack 端点的一个 IP 地址。
- 虚拟路由器提供一个 IP 地址,用于提供与项目网络的连接。本例中会自动分配这个 IP 地址。
- 至少一个用于提供商网络上的浮动 IP 地址的 IP 地址。
流程
创建配置帮助程序变量:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建基本类别:
openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tiny
$ openstack flavor create --ram 512 --disk 1 --vcpu 1 --public tinyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 下载 CirrOS 并创建 OpenStack 镜像:
wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.img
$ wget https://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img $ openstack image create cirros --container-format bare --disk-format qcow2 --public --file cirros-0.4.0-x86_64-disk.imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 SSH:
ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub default
$ ssh-keygen -m PEM -t rsa -b 2048 -f ~/.ssh/id_rsa_pem $ openstack keypair create --public-key ~/.ssh/id_rsa_pem.pub defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个简单的网络安全组:
openstack security group create basic
$ openstack security group create basicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置新的网络安全组:
启用 SSH:
openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0
$ openstack security group rule create basic --protocol tcp --dst-port 22:22 --remote-ip 0.0.0.0/0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 ping:
openstack security group rule create --protocol icmp basic
$ openstack security group rule create --protocol icmp basicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用 DNS:
openstack security group rule create --protocol udp --dst-port 53:53 basic
$ openstack security group rule create --protocol udp --dst-port 53:53 basicCopy to Clipboard Copied! Toggle word wrap Toggle overflow
创建 Neutron 网络:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建虚拟路由器:
# NOTE: In this case an IP will be automatically assigned # from the allocation pool for the subnet. openstack router create vrouter openstack router set vrouter --external-gateway public openstack router add subnet vrouter private-net
# NOTE: In this case an IP will be automatically assigned # from the allocation pool for the subnet. $ openstack router create vrouter $ openstack router set vrouter --external-gateway public $ openstack router add subnet vrouter private-netCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建浮动 IP:
openstack floating ip create public
$ openstack floating ip create publicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动实例:
openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserver
$ openstack server create --flavor tiny --image cirros --key-name default --network private --security-group basic myserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 分配浮动 IP:
openstack server add floating ip myserver <FLOATING_IP>
$ openstack server add floating ip myserver <FLOATING_IP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<FLOATING_IP>替换为您创建的浮动 IP 地址。
-
将
测试 SSH:
ssh cirros@<FLOATING_IP>
ssh cirros@<FLOATING_IP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<FLOATING_IP>替换为您创建的浮动 IP 地址。
-
将
网络架构