9.2. 添加可组合网络


使用可组合网络为各种服务添加网络。例如,如果您有一个专用于存储备份流量的网络,您可以将网络呈现到多个角色。

流程

  1. 复制默认的 network_data.yaml 文件:

    $ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/.
  2. 编辑 network_data.yaml 文件的本地副本,并为新网络添加一个部分:

    - name: StorageBackup
      name_lower: storage_backup
      vlan: 21
      vip: true
      ip_subnet: '172.21.1.0/24'
      allocation_pools: [{'start': '171.21.1.4', 'end': '172.21.1.250'}]
      gateway_ip: '172.21.1.1'

    您可以在 network_data.yaml 文件中使用以下参数:

    name
    设置网络的人类可读名称。这个参数是唯一强制参数。您还可以使用 name_lower 来规范化名称以实现可读性。例如,将 InternalApi 更改为 internal_api
    name_lower
    设置名称的小写版本,director 映射到分配给 roles_data.yaml 文件中角色的相应网络。
    vlan
    设置要用于此网络的 VLAN。
    vip: true
    在新网络上创建虚拟 IP 地址(VIP)。此 IP 用作 service-to-network 映射参数(ServiceNetMap)中列出的服务的目标 IP。请注意,VIP 仅由使用 Pacemaker 的角色使用。overcloud 负载均衡服务将来自这些 IP 的流量重定向到对应的服务端点。
    ip_subnet
    以 CIDR 格式设置默认 IPv4 子网。
    allocation_pools
    为 IPv4 子网设置 IP 范围
    gateway_ip
    设置网络的网关。
    Routes

    向网络添加额外的路由。使用包含每个额外路由的 JSON 列表。每个列表项目包含一个字典值映射。使用以下示例语法:

      routes: [{'destination':'10.0.0.0/16', 'nexthop':'10.0.2.254'}]
    subnets

    创建属于此网络中的其他路由子网。此参数接受一个字典值,其中包含路由子网的小写名称作为键,以及 vlanip_subnetallocation_pools,以及 gateway_ip 参数作为映射到子网的值。以下示例演示了这个布局:

    - name: StorageBackup
      name_lower: storage_backup
      vlan: 200
      vip: true
      ip_subnet: '172.21.0.0/24'
      allocation_pools: [{'start': '171.21.0.4', 'end': '172.21.0.250'}]
      gateway_ip: '172.21.0.1'
      subnets:
        storage_backup_leaf1:
          vlan: 201
          ip_subnet: '172.21.1.0/24'
          allocation_pools: [{'start': '171.21.1.4', 'end': '172.21.1.250'}]
          gateway_ip: '172.19.1.254'

    此映射在 spine leaf 部署中很常见。如需更多信息,请参阅 Spine Leaf Networking 指南。

  3. 当您添加包含虚拟 IP 的额外可组合网络并希望将一些 API 服务映射到此网络时,请使用 CloudName{network.name} 定义来为 API 端点设置 DNS 名称:

    CloudName{{network.name}}

    下面是一个示例:

    parameter_defaults:
      ...
      CloudNameOcProvisioning: baremetal-vip.example.com
  4. 使用 -n 选项,在部署命令中包含自定义 network_data.yaml 文件。如果没有 -n 选项,部署命令会使用默认的网络集合。
  5. 如果您需要可预测的虚拟 IP 地址(VIP),请将自定义网络的 VirtualFixedIPs 参数添加到 heat 环境文件的 parameter_defaults 部分,例如 my_network_vips.yaml

    <% my_customer_network %>VirtualFixedIPs:  [{'ip_address':'<% ipaddres %>'}]

    下面是一个示例:

    parameter_defaults:
      ...
      # Predictable VIPs
      StorageBackuptVirtualFixedIPs:  [{'ip_address':'172.21.1.9'}]
  6. 使用 -e 选项,将 heat 环境文件 my_network_vips.yaml 包含在部署命令中。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.