第 12 章 创建可用区以便在边缘进行网络流量负载均衡
本节中的内容 作为技术预览提供,因此不受红帽完全支持。它只应用于测试,不应部署在生产环境中。如需更多信息,请参阅 技术预览。
您可以在可用区(AZ)中创建负载均衡器,以提高流量吞吐量、缩短延迟和增强安全性,方法是使用 OpenShift (RHOSO)负载均衡服务(octavia)上的 Red Hat OpenStack Services。
RHOSO 管理员创建 AZ 配置集,并使用配置集创建实际的 AZ。RHOSO 用户可以在各种项目中的这些 AZ 中创建负载平衡器。
本节中包含的主题有:
12.1. 为负载均衡服务(amphora 提供商)创建可用区 复制链接链接已复制到粘贴板!
使用 OpenShift 上的 Red Hat OpenStack Services (RHOSO)负载均衡服务(octavia),RHOSO 管理员可以创建负载平衡可用区(AZ),使项目用户可以创建负载均衡器来提高流量吞吐量并缩短延迟。负载平衡 AZ 的常见用例包括分布式计算节点(DCN)和边缘环境。
创建负载平衡服务 AZ 需要两个步骤:RHOSO 管理员必须首先创建一个负载均衡器 AZ 配置集,然后使用配置集创建一个对用户可见的负载均衡服务 AZ。
先决条件
-
在工作站上安装了
oc
命令行工具。 -
以具有
cluster-admin
权限的用户身份登录到可访问 RHOSO 控制平面的工作站。 使用 AZ 创建的负载均衡器必须使用 amphora 负载均衡供应商。
OVN 负载平衡提供程序使用另一种机制来支持 OVN 原生的可用区。
-
您必须有一个 DCN 环境,其中通过运行
octavia-dcn-deployment.yaml
Ansible playbook 创建所需的网络资源。
- 您可以访问 Compute 服务(nova) AZ。
您的站点有权访问管理网络。您有两个选项:
- "扩展"第 2 层负载均衡管理网络。
- 要隔离网络的分布式 Compute 节点(DCN)环境。
流程
从您的工作站访问 OpenStackClient pod 的远程 shell:
oc rsh -n openstack openstackclient
$ oc rsh -n openstack openstackclient
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 收集用于负载平衡服务 AZ 的 Compute 服务 AZ 的名称。
提示命名负载平衡服务 AZ,以匹配计算服务 AZ 的名称,从而促进 AZ 管理。
openstack availability zone list --compute
$ openstack availability zone list --compute
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为用于创建负载均衡服务 AZ 的管理网络收集 ID:
openstack network list -c Name -c ID
$ openstack network list -c Name -c ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意确保您知道哪些网络对为您的站点创建 VIP 有效。
创建 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>", "valid_vip_networks": ["<valid_AZ_VIP_net_UUID>"]}'
$ 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>", "valid_vip_networks": ["<valid_AZ_VIP_net_UUID>"]}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<AZ_profile_name
> 替换为您要创建的 AZ 配置集的名称。 -
将
<compute_AZ_name
> 替换为您要创建 AZ 配置集的 Compute AZ 的名称。 - 将<lb_mgmt_AZ_net_UUID> 替换为要创建的 AZ 的管理网络的 ID。
(可选)将
<valid_AZ_VIP_net_UUID
> 替换为允许 VIP 使用的网络 ID。如果要限制此 AZ 中的 VIP 可用的网络,请使用valid_vip_networks
。示例 - 为
az0
创建配置集在本例中,会创建一个 AZ 配置文件(
),它在计算 AZ (az0)上运行的 Compute 节点上使用管理网络(az0
_profilelb-mgmt-net
):openstack loadbalancer availabilityzoneprofile create \ --name az0_profile --provider amphora --availability-zone-data \ '{"compute_zone": "az0","management_network": \ "662a94f5-51eb-4a4c-86c4-52dcbf471ef9"}'
$ openstack loadbalancer availabilityzoneprofile create \ --name az0_profile --provider amphora --availability-zone-data \ '{"compute_zone": "az0","management_network": \ "662a94f5-51eb-4a4c-86c4-52dcbf471ef9"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
将
重复步骤 4,为您要创建的每个负载均衡服务 AZ 创建 AZ 配置集。
示例 - 为
az1
创建配置集在本例中,创建 AZ 配置文件(
az1-profile
),它在计算 AZ (az1
)中运行的 Compute 节点上使用管理网络(lb-mgmt-az1-net
):openstack loadbalancer availabilityzoneprofile create \ --name az1-profile --provider amphora --availability-zone-data \ '{"compute-zone": "az1","management-network": \ "a2884aaf-846c-4936-9982-3083f6a71d9b"}'
$ openstack loadbalancer availabilityzoneprofile create \ --name az1-profile --provider amphora --availability-zone-data \ '{"compute-zone": "az1","management-network": \ "a2884aaf-846c-4936-9982-3083f6a71d9b"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 - 为
az2
创建配置集在本例中,会创建一个 AZ 配置文件(
az2-profile
),它在计算 AZ (az2
)中运行的 Compute 节点上使用管理网络(lb-mgmt-az2-net
):openstack loadbalancer availabilityzoneprofile create \ --name az2-profile --provider amphora --availability-zone-data \ '{"compute-zone": "az2","management-network": \ "10458d6b-e7c9-436f-92d9-711677c9d9fd"}'
$ openstack loadbalancer availabilityzoneprofile create \ --name az2-profile --provider amphora --availability-zone-data \ '{"compute-zone": "az2","management-network": \ "10458d6b-e7c9-436f-92d9-711677c9d9fd"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 AZ 配置集,创建一个负载平衡服务 AZ。为每个 AZ 使用适当的配置集,为任何其他 AZ 重复此步骤。
示例 - 创建 AZ:
az0
在本例中,使用 AZ 配置集(z0-profile)创建负载均衡服务 AZ (
):az0
openstack loadbalancer availabilityzone create --name az0 \ --availabilityzoneprofile az0-profile \ --description "AZ for Headquarters" --enable
$ openstack loadbalancer availabilityzone create --name az0 \ --availabilityzoneprofile az0-profile \ --description "AZ for Headquarters" --enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 - 创建 AZ:
az1
在本例中,使用 AZ 配置集(
az1-profile
)创建负载均衡服务 AZ (az1
):openstack loadbalancer availabilityzone create --name az1 \ --availabilityzoneprofile az1-profile \ --description "AZ for South Region" --enable
$ openstack loadbalancer availabilityzone create --name az1 \ --availabilityzoneprofile az1-profile \ --description "AZ for South Region" --enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 - 创建 AZ:
az2
在本例中,使用 AZ 配置集(
az2-profile
)创建负载均衡服务 AZ (az2
):openstack loadbalancer availabilityzone create --name az2 \ --availabilityzoneprofile az2-profile \ --description "AZ for North Region" --enable
$ openstack loadbalancer availabilityzone create --name az2 \ --availabilityzoneprofile az2-profile \ --description "AZ for North Region" --enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
确认已创建了 AZ (
az0
)。为每个 AZ 使用适当的名称,对任何其他 AZ 重复此步骤。示例 - 验证
az0
openstack loadbalancer availabilityzone show az0
$ openstack loadbalancer availabilityzone show az0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 - 验证
az1
openstack loadbalancer availabilityzone show az1
$ openstack loadbalancer availabilityzone show az1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 - 验证
az2
openstack loadbalancer availabilityzone show az2
$ openstack loadbalancer availabilityzone show az2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤