19.6. 在 RHOSP 网络服务节点上启用第 3 层高可用性(HA)
				在安装过程中,当您至少有两个 RHOSP 控制器且没有使用分布式虚拟路由(DVR)时,Red Hat OpenStack Platform (RHOSP) director 会为虚拟路由器启用高可用性(HA)。使用 RHOSP 编排服务(heat)参数 max_l3_agents_per_router,您可以设置在其上调度 HA 路由器的 RHOSP 网络服务层 3 (L3)代理的最大数量。
			
先决条件
- 您的 RHOSP 部署不使用 DVR。
- 您至少部署了两个 RHOSP Controller。
流程
- 以 stack 用户身份登录 undercloud,再提供 - stackrc文件,以启用 director 命令行工具。- 示例 - source ~/stackrc - $ source ~/stackrc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建自定义 YAML 环境文件。 - 示例 - vi /home/stack/templates/my-neutron-environment.yaml - $ vi /home/stack/templates/my-neutron-environment.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 提示- 编排服务 (heat) 使用一组名为 template(模板) 的计划来安装和配置您的环境。您可以使用自定义环境文件 自定义 overcloud 的各个方面,这是为 heat 模板 提供自定义 的特殊模板。 
- 在 YAML 环境文件中将 - NeutronL3HA参数设置为- true。这样可确保启用 HA,即使 director 默认没有设置它。- parameter_defaults: NeutronL3HA: 'true' - parameter_defaults: NeutronL3HA: 'true'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 设置在其上调度 HA 路由器的 L3 代理的最大数量。 - 将 - max_l3_agents_per_router参数设置为部署中最少和网络节点总数之间的值。(零值表示路由器被调度到每个代理上。)- 示例 - parameter_defaults: NeutronL3HA: 'true' ControllerExtraConfig: neutron::server::max_l3_agents_per_router: 2- parameter_defaults: NeutronL3HA: 'true' ControllerExtraConfig: neutron::server::max_l3_agents_per_router: 2- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 在本例中,如果您部署四个网络服务节点,则只有两个 L3 代理可以保护每个 HA 虚拟路由器:一个处于活动状态,一个备用。 - 如果将 - max_l3_agents_per_router的值设置为大于可用网络节点的数量,您可以通过添加新的 L3 代理来横向扩展备用路由器数量。对于您部署的每个新 L3 代理节点,网络服务会调度虚拟路由器的额外备用版本,直到达到- max_l3_agents_per_router限制为止。
- 运行 - 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 - $ openstack overcloud deploy --templates \ -e [your-environment-files] \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-neutron-environment.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 当 - NeutronL3HA设为- true时,创建的所有虚拟路由器都默认为 HA 路由器。在创建路由器时,您可以通过在- openstack router create命令中包含 the- -no-ha选项来覆盖 HA 选项:- openstack router create --no-ha - # openstack router create --no-ha- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow