第 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-centralaz-dcn1az-dcn2。这些负载平衡服务 AZ 名称与计算服务 AZ 的名称匹配,也是此部署中使用的 3 DCN 的名称。

先决条件

  • 对于您要创建的每个负载均衡服务 AZ,您必须有一个 Compute 服务(nova) AZ。
  • 对于您要创建的每个负载均衡服务 AZ,还必须有一个网络服务(neutron) AZ。这些网络服务 AZ 必须与计算服务 AZ 的名称匹配。
  • 您的负载均衡服务供应商驱动程序必须是 amphora。OVN 供应商驱动程序不支持 AZ。
  • 您必须是一个具有 admin 角色的 RHOSP 用户。

流程

  1. 提供您的凭据文件。

    示例
    $ source ~/centralrc
    Copy to Clipboard Toggle word wrap
  2. 创建一个文件 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>
    Copy to Clipboard Toggle word wrap
    重要

    您指定的负载均衡服务 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>-subnetlb-mgmt-<AZ_name>-router。例外是 octavia_controller_AZ_name 的网络资源:该 playbook 使用现有的负载平衡管理网络和子网、lb-mgmt-netlb-mgmt-subnet,并分别创建一个关联的路由器,其名称为 lb-mgmt-router

    在本例中,指定了 3 AZ: az-centralaz-dcn1az-dcn2az-central AZ 使用现有的负载平衡管理网络 lb-mgmt-net。其他两个 AZ 分别使用 172.47.0.0/16172.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
    Copy to Clipboard Toggle word wrap
  3. 运行 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
    Copy to Clipboard Toggle word wrap

验证

  1. 确认存在所需的 lb-mgmtmgmt 子网。

    $ openstack subnet list -c Name -c Subnet
    Copy to Clipboard Toggle word wrap
    输出示例
    +-------------------------+------------------+
    | 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     |
    +-------------------------+------------------+
    Copy to Clipboard Toggle word wrap
  2. 确认存在所需的虚拟路由器。

    $ openstack router list -c Name -c Status
    Copy to Clipboard Toggle word wrap
    输出示例
    +------------------------+--------+
    | Name                   | Status |
    +------------------------+--------+
    | lb-mgmt-az-dcn2-router | ACTIVE |
    | lb-mgmt-az-dcn1-router | ACTIVE |
    | lb-mgmt-router         | ACTIVE |
    +------------------------+--------+
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat