第 8 章 在边缘负载均衡网络流量
您可以使用 Red Hat OpenStack Platform (RHOSP)负载均衡服务(octavia)在边缘站点中创建负载均衡器来提高流量吞吐量并缩短延迟。
本节中包含的主题有:
8.1. 为负载均衡服务可用区创建网络资源 复制链接链接已复制到粘贴板!
在创建 Red Hat OpenStack Platform (RHOSP)负载均衡服务(octavia)可用区(AZ)之前,您必须是一个 RHOSP 管理员并运行 Ansible playbook octavia-dcn-deployment.yaml
。
通过运行 octavia-dcn-deployment.yaml
,您可以创建网络、子网和路由器等网络资源,它们是负载均衡服务 AZ。您可以为 playbook 提供配置输入文件 octavia-dcn-parameters.yaml
,在其中指定了 AZ 名称和每个 AZ 使用的管理网络。
运行 playbook 并创建了必要的网络资源后,您必须创建实际的 RHOSP 负载均衡服务 AZ,然后才能在 AZs 中创建适合其分布式计算节点(DCN)区域的负载均衡器。
此流程演示了为 3 负载均衡服务 AZ 创建所需的网络资源,名为 az-central
、az-dcn1
和 az-dcn2
。这些负载平衡服务 AZ 名称与计算服务 AZ 的名称匹配,也是此部署中使用的 3 DCN 的名称。
先决条件
- 对于您要创建的每个负载均衡服务 AZ,您必须有一个 Compute 服务(nova) AZ。
- 对于您要创建的每个负载均衡服务 AZ,还必须有一个网络服务(neutron) AZ。这些网络服务 AZ 必须与计算服务 AZ 的名称匹配。
- 您的负载均衡服务供应商驱动程序必须是 amphora。OVN 供应商驱动程序不支持 AZ。
-
您必须是一个具有
admin
角色的 RHOSP 用户。
流程
提供您的凭据文件。
- 示例
source ~/centralrc
$ source ~/centralrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建一个文件
octavia-dcn-parameters.yaml
,并使用以下语法,添加负载平衡服务 AZ 及其管理网络,您希望 Ansible playbook 创建所需的网络资源。octavia_controller_AZ_name
的值是所有 Load-balancer 服务运行的 AZ 的名称:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要您指定的负载均衡服务 AZ 的名称必须与预先存在的 Compute 服务 AZ 的名称匹配。您可以通过运行
openstack availability zone list --compute
来获取计算服务 AZ 的名称。Ansible playbook 为每个 AZ 创建一个网络、子网和路由器,并使用您在
octavia-dcn-parameters.yaml
中指定的 AZ 名称:lb-mgmt-<AZ_name>-net、lb-mgmt-<AZ_name>-
subnet、lb-mgmt-<AZ_name>-subnet
和lb-mgmt-<AZ_name>-router
。例外是octavia_controller_AZ_name
的网络资源:该 playbook 使用现有的负载平衡管理网络和子网、lb-mgmt-net
和lb-mgmt-subnet
,并分别创建一个关联的路由器,其名称为lb-mgmt-router
。在本例中,指定了 3 AZ:
az-central
、az-dcn1
和az-dcn2
。az-central
AZ 使用现有的负载平衡管理网络lb-mgmt-net
。其他两个 AZ 分别使用172.47.0.0/16
和172.48.0.0/16
:- 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行 Ansible playbook
octavia-dcn-deployment.yaml
,并包含您在octavia-dcn-parameters.yaml
中创建的 AZ 定义:- 示例
ansible-playbook -i overcloud-deploy/central/config-download/\ central/tripleo-ansible-inventory.yaml \ /usr/share/ansible/tripleo-playbooks/octavia-dcn-deployment.yaml \ -e @octavia-dcn-parameters.yaml -e stack=central -v
$ ansible-playbook -i overcloud-deploy/central/config-download/\ central/tripleo-ansible-inventory.yaml \ /usr/share/ansible/tripleo-playbooks/octavia-dcn-deployment.yaml \ -e @octavia-dcn-parameters.yaml -e stack=central -v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
确认存在所需的
lb-mgmtmgmt
子网。openstack subnet list -c Name -c Subnet
$ openstack subnet list -c Name -c Subnet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
确认存在所需的虚拟路由器。
openstack router list -c Name -c Status
$ openstack router list -c Name -c Status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源