19.6. 在 RHOSP 网络服务节点上启用第 3 层高可用性(HA)

在安装过程中,当您至少有两个 RHOSP Controller 且不使用分布式虚拟路由(DVR)时,Red Hat OpenStack Platform (RHOSP) director 会默认为虚拟路由器启用高可用性(HA)。使用 RHOSP 编排服务(heat)参数 max_l3_agents_per_router,您可以设置在其上调度 HA 路由器的最大 RHOSP 网络服务层 3 (L3)代理数。

先决条件

  • 您的 RHOSP 部署不使用 DVR。
  • 您至少部署两个 RHOSP Controller。

流程

  1. 以 stack 用户身份登录 undercloud,再提供 stackrc 文件以启用 director 命令行工具。

    示例

    $ source ~/stackrc

  2. 创建自定义 YAML 环境文件。

    示例

    $ vi /home/stack/templates/my-neutron-environment.yaml

    提示

    编排服务 (heat) 使用一组名为 template(模板) 的计划来安装和配置您的环境。您可以使用自定义环境文件来自定义 overcloud 的各个方面,这是为 heat 模板 提供自定义 的特殊模板。

  3. 在 YAML 环境文件中将 NeutronL3HA 参数设置为 true。这样可确保即使 director 默认未设置 HA,也会启用 HA。

    parameter_defaults:
      NeutronL3HA: 'true'
  4. 设置在其上调度 HA 路由器的 L3 代理的最大数量。

    max_l3_agents_per_router 参数设置为部署中网络节点的最小和最大值。(零值表示路由器调度到每个代理上。)

    示例

    parameter_defaults:
      NeutronL3HA: 'true'
      ControllerExtraConfig:
        neutron::server::max_l3_agents_per_router: 2

    在本例中,如果您部署四个网络服务节点,则只有两个 L3 代理会保护每个 HA 虚拟路由器:一个活跃,一个备用服务。

    如果将 max_l3_agents_per_router 的值设置为大于可用网络节点的数量,您可以通过添加新的 L3 代理来扩展备用路由器的数量。对于您部署的每个新的 L3 代理节点,网络服务会调度虚拟路由器的额外备用版本,直到达到 max_l3_agents_per_router 限制。

  5. 运行 openstack overcloud deploy 命令,并包含核心 heat 模板、环境文件和新的自定义环境文件。

    重要

    环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源具有优先权。

    示例

    $ openstack overcloud deploy --templates \
    -e [your-environment-files] \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-neutron-environment.yaml

    注意

    NeutronL3HA 设为 true 时,创建的所有虚拟路由器默认为 HA 路由器。在创建路由器时,您可以通过在 openstack router create 命令中包含 --no-ha 选项来覆盖 HA 选项:

    # openstack router create --no-ha

其他资源