16.5. 创建路由的提供商网络
路由供应商网络简化了最终用户的 Red Hat OpenStack Platform (RHOSP)云,因为它们只看到一个网络。对于云操作员,路由供应商网络提供可扩展和容错能力。
执行此步骤时,您要使用两个网络段创建路由供应商网络。每个片段包含一个 IPv4 子网和一个 IPv6 子网。
先决条件
- 完成 xref:prepare-routed-prov-network_deploy-routed-prov-networks 中的步骤。
流程
创建包含默认片段的 VLAN 提供商网络。
在本例中,VLAN 提供商网络名为
multisegment1
,它使用名为provider1
的物理网络和 ID 为128
的 VLAN:示例
openstack network create --share --provider-physical-network provider1 \ --provider-network-type vlan --provider-segment 128 multisegment1
$ openstack network create --share --provider-physical-network provider1 \ --provider-network-type vlan --provider-segment 128 multisegment1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将默认网络段重命名为
segment1
。获取片段 ID:
openstack network segment list --network multisegment1
$ openstack network segment list --network multisegment1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
+--------------------------------------+----------+--------------------------------------+--------------+---------+ | ID | Name | Network | Network Type | Segment | +--------------------------------------+----------+--------------------------------------+--------------+---------+ | 43e16869-ad31-48e4-87ce-acf756709e18 | None | 6ab19caa-dda9-4b3d-abc4-5b8f435b98d9 | vlan | 128 | +--------------------------------------+----------+--------------------------------------+--------------+---------+
+--------------------------------------+----------+--------------------------------------+--------------+---------+ | ID | Name | Network | Network Type | Segment | +--------------------------------------+----------+--------------------------------------+--------------+---------+ | 43e16869-ad31-48e4-87ce-acf756709e18 | None | 6ab19caa-dda9-4b3d-abc4-5b8f435b98d9 | vlan | 128 | +--------------------------------------+----------+--------------------------------------+--------------+---------+
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用片段 ID,将网络段重命名为
segment1
:openstack network segment set --name segment1 43e16869-ad31-48e4-87ce-acf756709e18
$ openstack network segment set --name segment1 43e16869-ad31-48e4-87ce-acf756709e18
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在提供商网络上创建第二个片段。
在本例中,网络片段使用名为
provider2
的物理网络和 ID 为129
的 VLAN:示例
openstack network segment create --physical-network provider2 \ --network-type vlan --segment 129 --network multisegment1 segment2
$ openstack network segment create --physical-network provider2 \ --network-type vlan --segment 129 --network multisegment1 segment2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证网络是否包含
segment1
和segment2
段:openstack network segment list --network multisegment1
$ openstack network segment list --network multisegment1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
segment1
段中创建一个 IPv4 子网和一个 IPv6 子网。在本例中,IPv4 子网使用
203.0.113.0/24
:示例
openstack subnet create \ --network multisegment1 --network-segment segment1 \ --ip-version 4 --subnet-range 203.0.113.0/24 \ multisegment1-segment1-v4
$ openstack subnet create \ --network multisegment1 --network-segment segment1 \ --ip-version 4 --subnet-range 203.0.113.0/24 \ multisegment1-segment1-v4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,IPv6 子网使用
fd00:203:0:113::/64
:示例
openstack subnet create \ --network multisegment1 --network-segment segment1 \ --ip-version 6 --subnet-range fd00:203:0:113::/64 \ --ipv6-address-mode slaac multisegment1-segment1-v6
$ openstack subnet create \ --network multisegment1 --network-segment segment1 \ --ip-version 6 --subnet-range fd00:203:0:113::/64 \ --ipv6-address-mode slaac multisegment1-segment1-v6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意默认情况下,提供商网络上的 IPv6 子网依赖于物理网络基础架构进行无状态地址自动配置(SLAAC)和路由器公告。
在
segment2
段中创建一个 IPv4 子网和一个 IPv6 子网。在本例中,IPv4 子网使用
198.51.100.0/24
:示例
openstack subnet create \ --network multisegment1 --network-segment segment2 \ --ip-version 4 --subnet-range 198.51.100.0/24 \ multisegment1-segment2-v4
$ openstack subnet create \ --network multisegment1 --network-segment segment2 \ --ip-version 4 --subnet-range 198.51.100.0/24 \ multisegment1-segment2-v4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,IPv6 子网使用
fd00:198:51:100::/64
:示例
openstack subnet create \ --network multisegment1 --network-segment segment2 \ --ip-version 6 --subnet-range fd00:198:51:100::/64 \ --ipv6-address-mode slaac multisegment1-segment2-v6
$ openstack subnet create \ --network multisegment1 --network-segment segment2 \ --ip-version 6 --subnet-range fd00:198:51:100::/64 \ --ipv6-address-mode slaac multisegment1-segment2-v6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证每个 IPv4 子网至少与一个 DHCP 代理关联:
openstack network agent list --agent-type dhcp --network multisegment1
$ openstack network agent list --agent-type dhcp --network multisegment1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证为计算服务放置 API 中的每个片段 IPv4 子网创建了清单。
对所有片段 ID 运行这个命令:
SEGMENT_ID=053b7925-9a89-4489-9992-e164c8cc8763 openstack resource provider inventory list $SEGMENT_ID
$ SEGMENT_ID=053b7925-9a89-4489-9992-e164c8cc8763 $ openstack resource provider inventory list $SEGMENT_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
在这个示例输出中,只会显示其中一个片段:
+----------------+------------------+----------+----------+-----------+----------+-------+ | resource_class | allocation_ratio | max_unit | reserved | step_size | min_unit | total | +----------------+------------------+----------+----------+-----------+----------+-------+ | IPV4_ADDRESS | 1.0 | 1 | 2 | 1 | 1 | 30 | +----------------+------------------+----------+----------+-----------+----------+-------+
+----------------+------------------+----------+----------+-----------+----------+-------+ | resource_class | allocation_ratio | max_unit | reserved | step_size | min_unit | total | +----------------+------------------+----------+----------+-----------+----------+-------+ | IPV4_ADDRESS | 1.0 | 1 | 2 | 1 | 1 | 30 | +----------------+------------------+----------+----------+-----------+----------+-------+
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证是否为 Compute 服务中的每个片段创建了主机聚合:
openstack aggregate list
$ openstack aggregate list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
在这个示例中,只会显示其中一个片段:
+----+---------------------------------------------------------+-------------------+ | Id | Name | Availability Zone | +----+---------------------------------------------------------+-------------------+ | 10 | Neutron segment id 053b7925-9a89-4489-9992-e164c8cc8763 | None | +----+---------------------------------------------------------+-------------------+
+----+---------------------------------------------------------+-------------------+ | Id | Name | Availability Zone | +----+---------------------------------------------------------+-------------------+ | 10 | Neutron segment id 053b7925-9a89-4489-9992-e164c8cc8763 | None | +----+---------------------------------------------------------+-------------------+
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动一个或多个实例。每个实例根据特定计算节点上使用的片段获取 IP 地址。
注意如果用户在端口创建请求中指定固定 IP,则该特定 IP 会立即分配给端口。但是,创建端口并将其传递到实例会产生与传统网络不同的行为。如果在端口创建请求上没有指定固定 IP,网络服务会延迟将 IP 地址分配给端口,直到特定的计算节点变得明显为止。例如,当您运行这个命令时:
openstack port create --network multisegment1 port1
$ openstack port create --network multisegment1 port1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow