23.4. 手动将可用区分配给网络和路由器
在创建 RHOSP 网络或路由器时,您可以手动分配 Red Hat OpenStack Platform (RHOSP)网络服务(neutron)可用区(AZ)。AZs 可让您使 RHOSP 网络资源高度可用。您可以对附加到不同 AZ 上不同电源源的网络节点进行分组,然后将运行关键服务的节点调度到单独的 AZ。
如果您在创建网络或路由器时无法分配 AZ,RHOSP 网络服务会自动分配给分配给 RHOSP 编排服务(heat)参数的值的资源。如果没有为 NeutronDefaultAvailabilityZones
定义值,则在没有 AZ 属性的情况下调度资源。
对于使用带有 Open vSwitch (ML2/OVS)机制驱动程序的 Modular Layer 2 插件的 RHOSP 网络服务代理,如果没有提供 AZ hint,且没有为 NeutronDefaultAvailabilityZones
指定的值,则使用 Compute 服务(nova) AZ 值来调度代理。
先决条件
- 已部署 RHOSP 16.2 或更高版本。
- 运行使用 ML2/OVS 或 ML2/OVN (Open Virtual Network)机制驱动程序的 RHOSP 网络服务。
流程
在使用 OpenStack 客户端在 overcloud 上创建网络时,请使用
--availability-zone-hint
选项。注意ML2/OVN 机制驱动程序只支持路由器可用区。ML2/OVN 有一个分布式 DHCP 服务器,因此支持网络 AZ 是不必要的。
在以下示例中,创建了一个网络(
net1),
并分配给 AZzone-1
或zone-2
:网络示例
$ openstack network create --availability-zone-hint zone-1 \ --availability-zone-hint zone-2 net1
输出示例
+---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | zone-1 | | | zone-2 | | availability_zones | | | created_at | 2021-07-31T22:14:12Z | | description | | | headers | | | id | ad88e059-e7fa-4cf7-8857-6731a2a3a554 | | ipv4_address_scope | None | | ipv6_address_scope | None | | mtu | 1450 | | name | net1 | | port_security_enabled | True | | project_id | cfd1889ac7d64ad891d4f20aef9f8d7c | | provider:network_type | vxlan | | provider:physical_network | None | | provider:segmentation_id | 77 | | revision_number | 3 | | router:external | Internal | | shared | False | | status | ACTIVE | | subnets | | | tags | [] | | updated_at | 2021-07-31T22:14:13Z | +---------------------------+--------------------------------------+
使用 OpenStack 客户端在 overcloud 上创建路由器时,请使用
--ha
和--availability-zone-hint
选项。在以下示例中,会创建一个路由器(
router1
),并分配给 AZzone-1
或zone-2
:路由器示例
$ openstack router create --ha --availability-zone-hint zone-1 \ --availability-zone-hint zone-2 router1
输出示例
+-------------------------+--------------------------------------+ | Field | Value | +-------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | zone-1 | | | zone-2 | | availability_zones | | | created_at | 2021-07-31T22:16:54Z | | description | | | distributed | False | | external_gateway_info | null | | flavor_id | None | | ha | False | | headers | | | id | ced10262-6cfe-47c1-8847-cd64276a868c | | name | router1 | | project_id | cfd1889ac7d64ad891d4f20aef9f8d7c | | revision_number | 3 | | routes | | | status | ACTIVE | | tags | [] | | updated_at | 2021-07-31T22:16:56Z | +-------------------------+--------------------------------------+
请注意,在创建网络资源时不会分配实际 AZ。RHOSP 网络服务在调度资源时分配 AZ。
验证
输入适当的 OpenStack 客户端
show
命令,以确认资源在哪个区域中托管。示例
$ openstack network show net1
输出示例
+---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | zone-1 | | | zone-2 | | availability_zones | zone-1 | | | zone-2 | | created_at | 2021-07-31T22:14:12Z | | description | | | headers | | | id | ad88e059-e7fa-4cf7-8857-6731a2a3a554 | | ipv4_address_scope | None | | ipv6_address_scope | None | | mtu | 1450 | | name | net1 | | port_security_enabled | True | | project_id | cfd1889ac7d64ad891d4f20aef9f8d7c | | provider:network_type | vxlan | | provider:physical_network | None | | provider:segmentation_id | 77 | | revision_number | 3 | | router:external | Internal | | shared | False | | status | ACTIVE | | subnets | | | tags | [] | | updated_at | 2021-07-31T22:14:13Z | +---------------------------+--------------------------------------+