第 4 章 测试部署


4.1. 执行基本测试

基本测试会验证实例可以相互 ping。测试还会检查 浮动 IP SSH 访问。本例描述了如何从 undercloud 执行此测试。

这个过程要求您遵循大量独立步骤。为方便起见,这个过程被分成较小的部分。但是,您必须按照以下顺序执行所有步骤。

注意
In this setup, a flat network is used to create the _External_ network, and _VXLAN_ is used for the _Tenant_ networks. _VLAN External_ networks and _VLAN Tenant_ networks are also supported, depending on the desired deployment.

4.1.1. 为测试创建新网络

  1. 提供用于访问 overcloud 的凭据:

    $ source /home/stack/overcloudrc
  2. 创建一个外部 neutron 网络,以便从 overcloud 外部访问实例:

    $ openstack network create --external --project service --external  --provider-network-type flat --provider-physical-network datacentre external
  3. 为您在上一步中创建的新外部网络创建对应的 neutron 子网:

    $ openstack subnet create  --project service --no-dhcp --network external --gateway 192.168.37.1 --allocation-pool start=192.168.37.200,end=192.168.37.220 --subnet-range 192.168.37.0/24 external-subnet
  4. 下载要用于创建 overcloud 实例的 cirros 镜像:

    $ wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
  5. 将 overcloud 上的 cirros 镜像上传到 glance:

    $ openstack image create cirros --public --file ./cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare
  6. 创建要用于 overcloud 实例的 tiny 类别:

    $ openstack flavor create m1.tiny --ram 512 --disk 1 --public
  7. 创建 VXLAN 租户网络来托管实例:

    $ openstack network create net_test --provider-network-type=vxlan --provider-segment 100
  8. 为您在上一步中创建的租户网络创建一个子网:

    $ openstack subnet create --network net_test --subnet-range 123.123.123.0/24 test
  9. 查找和存储租户网络的 ID:

    $ net_mgmt_id=$(openstack network list | grep net_test | awk '{print $2}')
  10. 创建一个实例 cirros1,并将它附加到 net_test 网络和 SSH 安全组:

    $ openstack server create --flavor m1.tiny --image cirros --nic net-id=$vlan1 --security-group SSH --key-name RDO_KEY --availability-zone nova:overcloud-novacompute-0.localdomain cirros1
  11. 创建名为 cirros2 的第二个实例,也连接到 net_test 网络和 SSH 安全组:

    $ openstack server create --flavor m1.tiny --image cirros --nic net-id=$vlan1 --security-group SSH --key-name RDO_KEY --availability-zone nova:overcloud-novacompute-0.localdomain cirros2

4.1.2. 在测试环境中设置网络

  1. 查找和存储 admin 项目的 ID:

    $ admin_project_id=$(openstack project list | grep admin | awk '{print $2}')
  2. 查找和存储 admin 项目的默认安全组:

    $ admin_sec_group_id=$(openstack security group list | grep $admin_project_id | awk '{print $2}')
  3. 为 admin default 安全组添加一条规则,以允许 ICMP 流量入站流量:

    $ openstack security group rule create $admin_sec_group_id --protocol icmp --ingress
  4. 为 admin default 安全组添加一条规则,以允许 ICMP 流量出站:

    $ openstack security group rule create $admin_sec_group_id --protocol icmp --egress
  5. 为 admin default 安全组添加一条规则,以允许 SSH 流量入口:

    $ openstack security group rule create $admin_sec_group_id --protocol tcp --dst-port 22 --ingress
  6. 为 admin default 安全组添加一条规则,以允许 SSH 流量出站:

    $ openstack security group rule create $admin_sec_group_id --protocol tcp --dst-port 22 --egress

4.1.3. 测试连接

  1. 从 horizon,您应该能够访问实例的 novnc 控制台。使用 overcloudrc 中的密码以 admin 用户身份登录 horizon。cirros 镜像的默认凭证是用户名 cirros 和 password cubswin:)
  2. novnc 控制台,验证实例是否收到 DHCP 地址:

    $ ip addr show
    注意

    您也可以从 undercloud 运行 nova console-log <instance id > 命令,以验证实例是否收到 DHCP 地址。

  3. 对所有其他实例重复 1 和 2 步。
  4. 从一个实例,尝试对其他实例发出 ping 命令。这将验证 overcloud 中基本的 租户网络 连接。
  5. 使用浮动 IP 地址,验证您可以访问 其他实例

4.1.4. 创建设备

  1. 在外部网络上创建一个浮动 IP,它将与 cirros1 实例关联:

    $ openstack floating ip create external
  2. 创建一个路由器,在浮动 IP 和 cirros1 租户 IP 之间处理 NAT:

    $ openstack router create test
  3. 将路由器的网关设置为外部网络:

    $ openstack router set test --external-gateway external
  4. 在附加到租户网络的路由器中添加接口:

    $ openstack router add subnet test test
  5. 查找并存储您在第 1 步中创建的浮动 IP:

    $ floating_ip=$(openstack floating ip list | head -n -1 | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
  6. 将浮动 IP 与 cirros1 实例关联:

    $ openstack server add floating ip cirros1 $floating_ip
  7. 从具有外部网络访问权限的节点,尝试登录实例:

    $ ssh cirros@$floating_ip
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部