13.5. 使用 ML2 OVS 部署 DVR

要在 ML2/OVS 部署中部署和管理分布式虚拟路由(DVR),您可以在 heat 模板和环境文件中配置设置。

您可以使用 heat 模板设置来置备主机网络:

  • 为 Compute 和 Controller 节点上的外部网络流量配置连接到物理网络的接口。
  • 在 Compute 和 Controller 节点上创建一个网桥,具有外部网络流量的接口。

您还将网络服务(neutron)配置为与置备的网络环境匹配,并允许流量使用网桥。

默认设置仅作为指南提供。它们不应该在生产环境中工作,或测试可能需要自定义网络隔离、专用 NIC 或其他变量因素。在设置环境中,您需要正确配置 L2 代理使用的网桥映射类型参数,并为其他代理(如 L3 代理)使用外部的网桥。

以下示例演示了如何使用典型的默认值配置概念验证环境。

流程

  1. 验证 OS::TripleO::Compute::Net::SoftwareConfig 的值与 overcloud-resource-registry.yaml 文件或部署命令中包含的环境文件中的 OS::TripleO::Controller::Net::SoftwareConfig 值匹配。

    这个值命名一个文件,如 net_config_bridge.yaml。命名文件配置外部网络 Compute 节点 L2 代理的 Neutron 网桥映射。网桥路由在 DVR 部署中托管的 Compute 节点上的浮动 IP 地址的流量。通常,您可以在部署 overcloud 时使用的网络环境文件中找到此文件名值,如 environments/net-multiple-nics.yaml

    注意

    如果自定义 Compute 节点的网络配置,可能需要将适当的配置添加到自定义文件中。

  2. 验证 Compute 节点是否具有外部网桥。

    1. 生成 openstack-tripleo-heat-templates 目录的本地副本。
    2. $ cd <local_copy_of_templates_directory.
    3. 运行 process-templates 脚本,将模板呈现到临时输出目录中:

      $ ./tools/process-templates.py -r <roles_data.yaml> \
        -n <network_data.yaml> -o <temporary_output_directory>
    4. 检查 < temporary_output_directory>/network/config 中的角色文件
  3. 如果需要,自定义 Compute 模板,使其包含与 Controller 节点匹配的外部网桥,并在环境文件中命名 OS::TripleO::Compute::Net::Net::Net::Net::SoftwareConfig 中的自定义文件路径。
  4. 在部署 overcloud 时,在部署命令中包含 environments/services/neutron-ovs-dvr.yaml 文件:

    $ openstack overcloud deploy --templates -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovs-dvr.yaml
  5. 验证 L3 HA 是否已禁用。

    注意

    L3 代理的外部网桥配置已在 Red Hat OpenStack Platform 13 中弃用,并在 Red Hat OpenStack Platform 15 中删除。