8.2. 为负载均衡服务创建可用区
使用 Red Hat OpenStack Platform (RHOSP)负载均衡服务(octavia),RHOSP 管理员可以创建可用区(AZ),使项目用户在分布式计算节点(DCN)环境中创建负载均衡器以增加流量吞吐量并降低延迟。
创建负载平衡服务 AZ 需要两个步骤:RHOSP 管理员必须首先创建一个 AZ 配置集,然后使用配置集创建用户可见的负载平衡服务 AZ。
AZ 配置集必须具有以下内容:
- Compute 服务(nova) AZ 的名称。
要使用的管理网络。
每个 AZ 都有多个管理网络,一个唯一的网络。中央 AZ 使用现有的负载平衡管理网络
lb-mgmt-net
,另外 AZ 使用其相应的网络,lb-mgmt-<AZ_name>-net
,例如lb-mgmt-az-dcn1-net
、lb-mgmt-az-dcn2-net
等等。
先决条件
您必须有一个 DCN 环境,它已通过运行
octavia-dcn-deployment.yaml
Ansible playbook 创建所需的网络资源。如需更多信息,请参阅为负载均衡服务可用区创建网络资源。
- 您的负载均衡服务供应商驱动程序必须是 amphora。OVN 供应商驱动程序不支持 AZ。
-
您必须是一个具有
admin
角色的 RHOSP 用户。
流程
提供您的凭据文件。
示例
$ source ~/centralrc
收集要用于命名负载平衡服务 AZ 的计算服务 AZ 的名称。
重要您创建的负载均衡服务 AZ 的名称必须与计算服务 AZ 的名称匹配。
$ openstack availability zone list --compute
输出示例
+------------+-------------+ | Zone Name | Zone Status | +------------+-------------+ | az-central | available | | az-dcn1 | available | | az-dcn2 | available | | internal | available | +------------+-------------+
收集用于创建负载平衡服务 AZ 的管理网络的 ID:
$ openstack network list -c Name -c ID
输出示例
+--------------------------------------+--------------------------+ | ID | Name | +--------------------------------------+--------------------------+ | 10458d6b-e7c9-436f-92d9-711677c9d9fd | lb-mgmt-az-dcn2-net | | 662a94f5-51eb-4a4c-86c4-52dcbf471ef9 | lb-mgmt-net | | 6b97ef58-2a25-4ea5-931f-b7c07cd09474 | lb-mgmt-backbone-net | | 99f4215b-fad8-432d-8444-1f894154dc30 | heat_tempestconf_network | | a2884aaf-846c-4936-9982-3083f6a71d9b | lb-mgmt-az-dcn1-net | | d7f7de6c-0e84-49e2-9042-697fa85d2532 | public | | e887a9f9-15f7-4854-a797-033cedbfe5f3 | public2 | +--------------------------------------+--------------------------+
创建 AZ 配置集。重复此步骤,为您要创建的每个负载均衡服务 AZ 创建 AZ 配置集:
$ openstack loadbalancer availabilityzoneprofile create \ --name <AZ_profile_name> --provider amphora --availability-zone-data '{"compute_zone": "<compute_AZ_name>","management_network": "<lb_mgmt_AZ_net_UUID>"}'
示例 - 为
az-central
创建配置集在本例中,创建了一个 AZ 配置集(
az_profile_central
),它使用管理网络(lb-mgmt-net
)在 Compute AZ (az-central
)中运行的 Compute 节点上:$ openstack loadbalancer availabilityzoneprofile create \ --name az_profile_central --provider amphora --availability-zone-data \ '{"compute_zone": "az-central","management_network": \ "662a94f5-51eb-4a4c-86c4-52dcbf471ef9"}'
重复步骤 4,为您要创建的每个负载均衡服务 AZ 创建 AZ 配置集。
示例 - 为
az-dcn1
创建配置文件在本例中,会创建一个 AZ 配置集(
az-profile-dcn1
),它使用管理网络(lb-mgmt-az-dcn1-net
)在计算 AZ (az-dcn1
)上运行的 Compute 节点上:$ openstack loadbalancer availabilityzoneprofile create \ --name az-profile-dcn1 --provider amphora --availability-zone-data \ '{"compute-zone": "az-dcn1","management-network": \ "a2884aaf-846c-4936-9982-3083f6a71d9b"}'
示例 - 为
az-dcn2
创建配置文件在本例中,会创建一个 AZ 配置集(
az-profile-dcn2
),它使用管理网络(lb-mgmt-az-dcn2-net
)在计算 AZ (az-dcn2
)中运行的 Compute 节点上:$ openstack loadbalancer availabilityzoneprofile create \ --name az-profile-dcn2 --provider amphora --availability-zone-data \ '{"compute-zone": "az-dcn2","management-network": \ "10458d6b-e7c9-436f-92d9-711677c9d9fd"}'
使用 AZ 配置集,创建一个负载均衡服务 AZ。为每个 AZ 使用适当的配置集,为任何其他 AZ 重复此步骤。
示例 - 创建 AZ: az-central
在本例中,使用 AZ 配置集(
az-profile-central
)创建负载平衡服务 AZ (az-central
):$ openstack loadbalancer availabilityzone create --name az-central \ --availabilityzoneprofile az-profile-central \ --description "AZ for Headquarters" --enable
示例 - 创建 AZ: az-dcn1
在本例中,使用 AZ 配置集(az-profile-
az-dcn1
)创建负载平衡服务 AZ (az-dcn1
):$ openstack loadbalancer availabilityzone create --name az-dcn1 \ --availabilityzoneprofile az-profile-az-dcn1 \ --description "AZ for South Region" --enable
示例 - 创建 AZ: az-dcn2
在本例中,负载均衡服务 AZ (
az-dcn2
)使用 AZ 配置集(az-profile-az-dcn2
)创建:$ openstack loadbalancer availabilityzone create --name az-dcn2 \ --availabilityzoneprofile az-profile-az-dcn2 \ --description "AZ for North Region" --enable
验证
确认 AZ (
az-central
)已创建。对任何其他 AZ 重复此步骤,为每个 AZ 使用适当的名称。示例 - 验证 az-central
$ openstack loadbalancer availabilityzone show az-central
输出示例
+------------------------------+--------------------------------------+ | Field | Value | +------------------------------+--------------------------------------+ | name | az-central | | availability_zone_profile_id | 5ed25d22-52a5-48ad-85ec-255910791623 | | enabled | True | | description | AZ for Headquarters | +------------------------------+--------------------------------------+
示例 - 验证 az-dcn1
$ openstack loadbalancer availabilityzone show az-dcn1
输出示例
+------------------------------+--------------------------------------+ | Field | Value | +------------------------------+--------------------------------------+ | name | az-dcn1 | | availability_zone_profile_id | e0995a82-8e67-4cea-b32c-256cd61f9cf3 | | enabled | True | | description | AZ for South Region | +------------------------------+--------------------------------------+
示例 - 验证 az-dcn2
$ openstack loadbalancer availabilityzone show az-dcn2
输出示例
+------------------------------+--------------------------------------+ | Field | Value | +------------------------------+--------------------------------------+ | name | az-dcn2 | | availability_zone_profile_id | 306a4725-7dac-4046-8f16-f2e668ee5a8d | | enabled | True | | description | AZ for North Region | +------------------------------+--------------------------------------+
后续步骤
其他资源
- 命令行界面参考中的LoadBalancer availabilityzoneprofile create
- 命令行界面参考中的LoadBalancer availabilityzone create