22.3. 使用 ML2/OVN 配置网络服务可用区
您可以在用户创建路由器时设置由 Red Hat OpenStack Platform (RHOSP)网络服务(neutron)自动分配的一个或多个默认可用区(AZ)。此外,您还可以设置网络服务用来为相应的 AZ 调度这些资源的路由器驱动程序。
本主题中包含的信息用于运行 RHOSP 网络服务的部署,这些服务使用具有 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 名称匹配。
如需更多信息,请参阅 分布式计算节点和存储部署指南。
重要通过设置
OVNCMSOptions: 'enable-chassis-as-gw',并通过为OVNAvailabilityZone参数提供一个或多个 AZ 值来确保所有路由器网关端口驻留在 OpenStack Controller 节点上。执行此操作可防止路由器将所有机箱调度到路由器网关端口的潜在主机。
流程
以 stack 用户身份登录 undercloud,再提供
stackrc文件以启用 director 命令行工具。示例
source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建自定义 YAML 环境文件。
示例
vi /home/stack/templates/my-neutron-environment.yaml
$ vi /home/stack/templates/my-neutron-environment.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 提示Red Hat OpenStack Platform 编排服务(heat)使用一组名为 template 的计划来安装和配置您的环境。您可以使用自定义环境文件来自定义 overcloud 的各个方面,这是为 heat 模板 提供自定义 的特殊模板。
在 YAML 环境文件的
parameter_defaults下,输入NeutronDefaultAvailabilityZones参数和一个或多个 AZ。重要在 DCN 环境中,您必须将网络服务 AZ 名称与计算服务 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的值,确定网关节点(Controller 和网络节点)的 AZ。重要OVNAvailabilityZone参数替换OVNCMSOptions参数中使用 AZ 值。如果使用OVNAvailabilityZone参数,请确保OVNCMSOptions参数中没有 AZ 值。示例
在本例中,为
az-centralAZ 预定义了角色 Controllers,为datacenter1和datacenter2AZ 预定义了角色 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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行可用区
list 命令确认可用区已正确定义。示例
openstack availability zone list
$ openstack availability zone listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow