16.4. 准备路由的提供商网络

要在 Red Hat OpenStack Platform (RHOSP)中创建路由供应商网络,您必须首先收集创建它所需的网络信息。您必须将 overcloud 配置为创建一个自定义角色,为包含网络片段的 Compute 节点部署 RHOSP Networking 服务(neutron)元数据代理。对于使用 ML2/OVS 机制驱动程序的环境,除了元数据代理外,还必须在 Compute 节点上包含 NeutronDhcpAgent 服务。在运行计算调度程序服务的控制器上,您必须启用对路由供应商网络的调度支持。

先决条件

  • 您必须是一个具有 admin 角色的 RHOSP 用户。

流程

  1. 从您要在其上创建路由的网络的 tripleo-heat-templates/network_data.yaml 文件中收集 VLAN ID,并为您在路由供应商网络上创建的每个段分配唯一的物理网络名称。这允许在子网之间重复使用相同的分段详情。

    创建参考表来视觉化 VLAN ID、片段和物理网络名称之间的关系:

    表 16.1. 示例 - 路由供应商网络段定义

    路由提供商网络VLAN IDsegment物理网络

    multisegment1

    128

    segment1

    provider1

    multisegment1

    129

    segment2

    provider2

  2. 规划网段之间的路由。

    网段上的每个子网必须包含该特定子网中路由器接口的网关地址。您需要 IPv4 和 IPv6 格式的子网地址。

    表 16.2. 示例 - 路由提供商网络片段的路由计划

    路由提供商网络segment子网地址网关地址

    multisegment1

    segment1 (IPv4)

    203.0.113.0/24

    203.0.113.1

    multisegment1

    segment1 (IPv6)

    fd00:203:0:113::/64

    fd00:203:0:113::1

    multisegment1

    segment2 (IPv4)

    198.51.100.0/24

    198.51.100.1

    multisegment1

    segment2 (IPv6)

    fd00:198:51:100::/64

    fd00:198:51:100::1

  3. 路由的提供商网络要求 Compute 节点位于不同的网段上。检查 templates/overcloud-baremetal-deployed.yaml 文件,以确保路由提供商网络中的每个 Compute 主机都可以与其其中一个片段直接连接。

    有关更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 置备裸机节点

  4. 确保 NeutronMetadataAgent 服务包含在包含该片段的 Compute 节点的 templates/roles_data-custom.yaml 中:

    ...
    - name: Compute
      ...
      ServicesDefault:
        - OS::TripleO::Services::NeutronMetadataAgent
    ...

    如需更多信息 ,请参阅自定义 Red Hat OpenStack Platform 部署指南中的可组合服务和自定义角色

  5. 在使用 ML2/OVS 机制驱动程序时,除了 NeutronMetadataAgent 服务外,还确保 NeutronDhcpAgent 服务包含在包含该片段的 Compute 节点的 templates/roles_data-custom.yaml 中:

    ...
    - name: Compute
      ...
      ServicesDefault:
        - OS::TripleO::Services::NeutronDhcpAgent
        - OS::TripleO::Services::NeutronMetadataAgent
    ...
    提示

    与传统的提供商网络不同,DHCP 代理无法支持网络中的多个网段。在包含片段而不是网络节点上的 Compute 节点上部署 DHCP 代理,以减少节点数。

  6. 创建路由供应商网络环境文件,如 rpn_env.yaml
  7. 配置 DHCP,以便在隔离的网络中启用元数据支持:

    parameter_defaults:
      NeutronEnableIsolatedMetadata: true
  8. 确保 片段 服务插件加载到网络服务中:

    $ openstack extension list --network --max-width 80 | grep -E "Segment"

    如果缺少 片段 插件,将其添加到 NeutronServicePlugins 参数中:

    示例

    parameter_defaults:
      NeutronEnableIsolatedMetadata: true
      NeutronServicePlugins: 'router,qos,segments,trunk,placement'

    重要

    当您向 NeutronServicePlugins 参数添加新值时,RHOSP director 会使用您要添加的值覆盖之前声明的值。因此,当您添加 时,还必须包含任何之前声明的网络服务插件。

  9. 要在在主机上调度实例前,要使用放置服务验证网络,请在运行计算调度程序服务的控制器上启用路由提供商网络的调度支持。

    示例

    parameter_defaults:
      NeutronEnableIsolatedMetadata: true
      NeutronServicePlugins: 'router,qos,segments,trunk,placement'
      NovaSchedulerQueryPlacementForRoutedNetworkAggregates: true

  10. 使用其他环境文件将路由的供应商网络环境文件添加到堆栈中,并部署 overcloud:

    $ openstack overcloud deploy --templates \
     -e <your_environment_files> \
     -e /home/stack/templates/rpn_env.yaml

其他资源