第 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
创建一个文件
octavia-dcn-parameters.yaml,并使用以下语法,添加负载平衡服务 AZ 及其管理网络,您希望 Ansible playbook 创建所需的网络资源。octavia_controller_AZ_name的值是所有 Load-balancer 服务运行的 AZ 的名称:octavia_controller_availability_zone: <octavia_controller_AZ_name> octavia_availability_zones: <octavia_controller_AZ_name>: $ no cidr needed, it uses the already existing subnet <octavia_AZ_n>: lb_mgmt_subnet_cidr: <CIDR_address_n> <octavia_AZ_n2>: lb_mgmt_subnet_cidr: <CIDR_address_n2>重要您指定的负载均衡服务 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-centralAZ 使用现有的负载平衡管理网络lb-mgmt-net。其他两个 AZ 分别使用172.47.0.0/16和172.48.0.0/16:- 示例
octavia_controller_availability_zone: az-central octavia_availability_zones: az-central: # no cidr needed; it uses the existing subnet az-dcn1: lb_mgmt_subnet_cidr: 172.47.0.0/16 az-dcn2: lb_mgmt_subnet_cidr: 172.48.0.0/16
运行 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
验证
确认存在所需的
lb-mgmtmgmt子网。$ openstack subnet list -c Name -c Subnet- 输出示例
+-------------------------+------------------+ | Name | Subnet | +-------------------------+------------------+ | lb-mgmt-az-dcn2-subnet | 172.48.0.0/16 | | segment5 | 10.0.20.0/24 | | segment3 | 10.101.30.0/24 | | segment2 | 10.101.20.0/24 | | lb-mgmt-az-dcn1-subnet | 172.47.0.0/16 | | heat_tempestconf_subnet | 192.168.199.0/24 | | segment4 | 10.0.10.0/24 | | lb-mgmt-subnet | 172.24.0.0/16 | | segment1 | 10.101.10.0/24 | | lb-mgmt-backbone-subnet | 172.49.0.0/16 | | segment6 | 10.0.30.0/24 | +-------------------------+------------------+
确认存在所需的虚拟路由器。
$ openstack router list -c Name -c Status- 输出示例
+------------------------+--------+ | Name | Status | +------------------------+--------+ | lb-mgmt-az-dcn2-router | ACTIVE | | lb-mgmt-az-dcn1-router | ACTIVE | | lb-mgmt-router | ACTIVE | +------------------------+--------+
其他资源