16.4. 准备路由的提供商网络
要在 Red Hat OpenStack Platform (RHOSP)中创建路由供应商网络,您必须首先收集创建它所需的网络信息。您必须将 overcloud 配置为创建一个自定义角色,为包含网络片段的 Compute 节点部署 RHOSP Networking 服务(neutron)元数据代理。对于使用 ML2/OVS 机制驱动程序的环境,除了元数据代理外,还必须在 Compute 节点上包含 NeutronDhcpAgent
服务。在运行计算调度程序服务的控制器上,您必须启用对路由供应商网络的调度支持。
先决条件
-
您必须是一个具有
admin
角色的 RHOSP 用户。
流程
从您要在其上创建路由的网络的
tripleo-heat-templates/network_data.yaml
文件中收集 VLAN ID,并为您在路由供应商网络上创建的每个段分配唯一的物理网络名称。这允许在子网之间重复使用相同的分段详情。创建参考表来视觉化 VLAN ID、片段和物理网络名称之间的关系:
表 16.1. 示例 - 路由供应商网络段定义 路由提供商网络 VLAN ID segment 物理网络 multisegment1
128
segment1
provider1
multisegment1
129
segment2
provider2
规划网段之间的路由。
网段上的每个子网必须包含该特定子网中路由器接口的网关地址。您需要 IPv4 和 IPv6 格式的子网地址。
表 16.2. 示例 - 路由提供商网络片段的路由计划 路由提供商网络 segment 子网地址 网关地址 multisegment1
segment1 (IPv4)
203.0.113.0/24
203.0.113.1
multisegment1
segment1 (IPv6)
fd00:203:0:113::/64
fd00:203:0:113::1
multisegment1
segment2 (IPv4)
198.51.100.0/24
198.51.100.1
multisegment1
segment2 (IPv6)
fd00:198:51:100::/64
fd00:198:51:100::1
路由的提供商网络要求 Compute 节点位于不同的网段上。检查
templates/overcloud-baremetal-deployed.yaml
文件,以确保路由提供商网络中的每个 Compute 主机都可以与其其中一个片段直接连接。有关更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 置备裸机节点。
确保
NeutronMetadataAgent
服务包含在包含该片段的 Compute 节点的templates/roles_data-custom.yaml
中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ... - name: Compute ... ServicesDefault: - OS::TripleO::Services::NeutronMetadataAgent ...
... - name: Compute ... ServicesDefault: - OS::TripleO::Services::NeutronMetadataAgent ...
如需更多信息 ,请参阅自定义 Red Hat OpenStack Platform 部署指南中的可组合服务和自定义角色。
在使用 ML2/OVS 机制驱动程序时,除了
NeutronMetadataAgent
服务外,还确保NeutronDhcpAgent
服务包含在包含该片段的 Compute 节点的templates/roles_data-custom.yaml
中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ... - name: Compute ... ServicesDefault: - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronMetadataAgent ...
... - name: Compute ... ServicesDefault: - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronMetadataAgent ...
提示与传统的提供商网络不同,DHCP 代理无法支持网络中的多个网段。在包含片段而不是网络节点上的 Compute 节点上部署 DHCP 代理,以减少节点数。
-
创建路由供应商网络环境文件,如
rpn_env.yaml
。 配置 DHCP,以便在隔离的网络中启用元数据支持:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow parameter_defaults: NeutronEnableIsolatedMetadata: true
parameter_defaults: NeutronEnableIsolatedMetadata: true
确保
片段
服务插件加载到网络服务中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack extension list --network --max-width 80 | grep -E "Segment"
$ openstack extension list --network --max-width 80 | grep -E "Segment"
如果缺少
片段
插件,将其添加到NeutronServicePlugins
参数中:示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow parameter_defaults: NeutronEnableIsolatedMetadata: true NeutronServicePlugins: 'router,qos,segments,trunk,placement'
parameter_defaults: NeutronEnableIsolatedMetadata: true NeutronServicePlugins: 'router,qos,segments,trunk,placement'
重要当您向
NeutronServicePlugins
参数添加新值时,RHOSP director 会使用您要添加的值覆盖之前声明的值。因此,当您添加段
时,还必须包含任何之前声明的网络服务插件。要在在主机上调度实例前,要使用放置服务验证网络,请在运行计算调度程序服务的控制器上启用路由提供商网络的调度支持。
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow parameter_defaults: NeutronEnableIsolatedMetadata: true NeutronServicePlugins: 'router,qos,segments,trunk,placement' NovaSchedulerQueryPlacementForRoutedNetworkAggregates: true
parameter_defaults: NeutronEnableIsolatedMetadata: true NeutronServicePlugins: 'router,qos,segments,trunk,placement' NovaSchedulerQueryPlacementForRoutedNetworkAggregates: true
使用其他环境文件将路由的供应商网络环境文件添加到堆栈中,并部署 overcloud:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack overcloud deploy --templates \ -e <your_environment_files> \ -e /home/stack/templates/rpn_env.yaml
$ openstack overcloud deploy --templates \ -e <your_environment_files> \ -e /home/stack/templates/rpn_env.yaml
后续步骤
其他资源
- 使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 置备裸机节点。
- 自定义 Red Hat OpenStack Platform 部署 指南中的可组合服务和自定义角色