20.3. 使用 ML2/OVN 配置网络服务可用区
您可以在用户创建路由器时,设置由 Red Hat OpenStack Platform (RHOSP)网络服务(neutron)自动分配的一个或多个默认可用区(AZ)。另外,您还可以设置网络服务用来为对应的 AZ 调度这些资源的路由器驱动程序。
本主题中包含的信息适用于运行带有 Open Virtual Network (ML2/OVN)机制驱动程序的 Modular Layer 2 插件的部署。
ML2/OVN 机制驱动程序只支持路由器可用区。ML2/OVN 有一个分布式 DHCP 服务器,因此不支持网络 AZ。
先决条件
- 部署的 RHOSP 16.2 或更高版本。
- 运行使用 ML2/OVN 机制驱动程序的 RHOSP 网络服务。
在分布式计算节点(DCN)环境中使用网络服务 AZ 时,您必须将网络服务 AZ 名称与计算服务(nova) AZ 名称匹配。
如需更多信息,请参阅 分布式计算节点和存储部署指南。
流程
以 stack 用户身份登录 undercloud,再提供
stackrc
文件,以启用 director 命令行工具。示例
source ~/stackrc
$ source ~/stackrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建自定义 YAML 环境文件。
示例
vi /home/stack/templates/my-neutron-environment.yaml
$ vi /home/stack/templates/my-neutron-environment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提示Red Hat OpenStack Platform Orchestration 服务(heat)使 用一组名为 template 的计划来安装和配置您的环境。您可以使用自定义环境文件 自定义 overcloud 的各个方面,这是为 heat 模板 提供自定义 的特殊模板。
在 YAML 环境文件中,在
parameter_defaults
下输入NeutronDefaultAvailabilityZones
参数以及一个或多个 AZ。重要在 DCN 环境中,您必须将网络服务 AZ 名称与 Compute 服务 AZ 名称匹配。
如果用户在创建网络或路由器时通过
-availability-zone-hint
选项指定 AZ,网络服务会分配这些 AZ。示例
parameter_defaults: NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
parameter_defaults: NeutronDefaultAvailabilityZones: 'az-central,az-datacenter2,az-datacenter1'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过输入参数(
OVNAvailabilityZone
)的值,确定网关节点的 AZ (Controllers 和 Network 节点)。重要OVNAvailability
参数替换OVNCMSOptions
参数中使用 AZ 值。如果使用OVNAvailability
参数,请确保OVNCMSOptions
参数中没有 AZ 值。示例
在本例中,为
az-central
AZ 预定义了角色 Controllers,为datacenter1
和datacenter2
AZ 预定义了角色 Networkers:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在 DCN 环境中,为
ControllerCentralParameter
定义单个 AZ,以便在与特定边缘站点相关的 AZ 中调度端口。默认情况下,路由器调度程序是
AZLeastRoutersScheduler
。如果要更改此功能,请使用NeutronRouterSchedulerDriver
参数输入新的调度程序。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
openstack overcloud deploy
命令,并包含核心 heat 模板、环境文件以及新的自定义环境文件。重要但是,环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。
示例
openstack overcloud deploy --templates \ -e <your-environment-files> \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/\ my-neutron-environment.yaml
$ openstack overcloud deploy --templates \ -e <your-environment-files> \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/\ my-neutron-environment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行
availability zone list
命令,确认可用区是否已正确定义。示例
openstack availability zone list
$ openstack availability zone list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow