2.4. 配置 IPv6 网络


本节检查 overcloud 的网络配置。这包括隔离 OpenStack 服务以使用特定网络流量并使用 IPv6 选项配置 overcloud。

2.4.1. 配置可组合 IPv6 网络

先决条件

流程

  1. 复制默认的 network_data 文件:

    $ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/.
  2. 编辑 network_data.yaml 文件的本地副本,并修改参数以满足您的 IPv6 网络要求。例如,外部网络包含以下默认网络详情:

    - name: External
      vip: true
      name_lower: external
      vlan: 10
      ipv6: true
      ipv6_subnet: '2001:db8:fd00:1000::/64'
      ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
      gateway_ipv6: '2001:db8:fd00:1000::1'
    • name 是唯一强制值,但您也可以使用 name_lower 规范化名称以实现可读性。例如,将 InternalApi 更改为 internal_api
    • vip: true 在新网络中创建一个虚拟 IP 地址(VIP),并将其余参数设置新网络的默认值。
    • ipv6 定义是否启用 IPv6。
    • ipv6_subnetipv6_allocation_poolsgateway_ip6 为网络设置默认 IPv6 子网和 IP 范围。
  3. 使用 -n 选项,将自定义 network_data 文件包含在部署中。如果没有 -n 选项,部署命令使用默认的网络详情。

2.4.2. overcloud 中的 IPv6 网络隔离

overcloud 默认为 provisioning 网络分配服务。但是,director 可以将 overcloud 网络流量划分为隔离的网络。这些网络在您部署命令行中包含的文件中定义,默认为 network_data.yaml

当服务使用 IPv6 地址侦听网络时,您必须提供参数 default 来表示该服务在 IPv6 网络上运行。各个服务运行的网络都由文件 network/service_net_map.yaml 定义,可通过声明单个 ServiceNetMap 条目的参数默认值来覆盖。这些服务要求在环境文件中设置参数:

parameter_defaults:
  # Enable IPv6 for Ceph.
  CephIPv6: True
  # Enable IPv6 for Corosync. This is required when Corosync is using an IPv6 IP in the cluster.
  CorosyncIPv6: True
  # Enable IPv6 for MongoDB. This is required when MongoDB is using an IPv6 IP.
  MongoDbIPv6: True
  # Enable various IPv6 features in Nova.
  NovaIPv6: True
  # Enable IPv6 environment for RabbitMQ.
  RabbitIPv6: True
  # Enable IPv6 environment for Memcached.
  MemcachedIPv6: True
  # Enable IPv6 environment for MySQL.
  MysqlIPv6: True
  # Enable IPv6 environment for Manila
  ManilaIPv6: True
  # Enable IPv6 environment for Redis.
  RedisIPv6: True

核心 heat 模板中的 environments/network-isolation.j2.yaml 文件是一个 Jinja2 文件,该文件在可组合的网络文件中定义每个 IPv6 网络的所有端口和 VIP。呈现后,它会使用完整资源 registry 在相同位置生成 network-isolation.yaml 文件。

2.4.3. 配置 IPv6 隔离网络

默认 heat 模板集合包含用于默认网络配置的基于 Jinja2 的环境文件。此文件是 environment /network-environment.j2.yaml。使用 network_data 文件呈现时,它会生成名为 network-environment.yaml 的标准 YAML 文件。此文件的某些部分可能需要覆盖。

先决条件

流程

  • 使用以下详情创建一个自定义环境文件(/home/stack/network-environment.yaml):

    parameter_defaults:
      DnsServers: ["8.8.8.8","8.8.4.4"]
      ControlPlaneDefaultRoute: 192.0.2.1
      ControlPlaneSubnetCidr: "24"

    parameter_defaults 部分包含 IPv4 上保留的某些服务的自定义。

2.4.4. IPv6 网络接口模板

overcloud 需要一组网络接口模板。director 包含一组基于 Jinja2 的 Heat 模板,它根据您的 network_data 文件呈现:

Expand
NIC 目录描述环境文件

single-nic-vlans

单个 NIC (nic1),带有附加到默认的 Open vSwitch 网桥的 control plane 和 VLAN。

environments/net-single-nic-with-vlans-v6.j2.yaml

single-nic-linux-bridge-vlans

单个 NIC (nic1),带有附加到默认 Linux 网桥的 control plane 和 VLAN。

environments/net-single-nic-linux-bridge-with-vlans-v6.yaml

bond-with-vlans

附加到 nic1 的 control plane。默认 Open vSwitch 网桥带有绑定的 NIC 配置(nic2nic3)并附加了 VLAN。

environments/net-bond-with-vlans-v6.yaml

multiple-nics

附加到 nic1 的 control plane。将每个后续 NIC 分配给 network_data 文件中定义的每个网络。默认情况下,Storage 到 nic2, Storage Management 到 nic3, Internal API 到 nic4, Tenant 到 br-tenant 网桥上的 nic5,External 到默认 Open vSwitch 网桥上的 nic6

environments/net-multiple-nics-v6.yaml

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部