搜索

2.4. 配置 IPv6 网络

download PDF

默认情况下,overcloud 使用互联网协议版本 4 (IPv4) 来配置服务端点。但是,overcloud 还支持互联网协议版本 6 (IPv6)端点,这对支持 IPv6 基础架构的组织很有用。director 包含一组环境文件,可用于创建基于 IPv6 的 Overcloud。

有关在 Overcloud 中配置 IPv6 的更多信息,请参阅 overcloud 专用配置 IPv6 网络指南。

2.4.1. 配置可组合 IPv6 网络

先决条件

  • 成功安装 undercloud。如需更多信息,请参阅安装 director
  • 您的网络支持 IPv6 原生 VLAN 和 IPv4 原生 VLAN。

流程

  1. 复制默认 network_data 文件:

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

    - 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_pools,并且 gateway_ip6 为网络设置默认 IPv6 子网和 IP 范围。
  3. 使用 -n 选项包括带有部署的自定义 network_data 文件。如果没有 -n 选项,部署命令将使用默认网络详细信息。

2.4.2. overcloud 中的 IPv6 网络隔离

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

当服务使用 IPv6 地址侦听网络时,您必须提供参数默认值,以指示该服务在 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 的环境文件。此文件是 environments/network-environment.j2.yaml。当使用我们的 network_data 文件呈现时,它会生成名为 network-environment.yaml 的标准 YAML 文件。此文件的某些部分可能需要覆盖。

先决条件

  • 成功安装 undercloud。如需更多信息,请参阅安装 director
  • 您的网络支持 IPv6 原生 VLAN 和 IPv4 原生 VLAN。

流程

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

    parameter_defaults:
      ControlPlaneDefaultRoute: 192.0.2.1
      ControlPlaneSubnetCidr: "24"

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

2.4.4. IPv6 网络接口模板

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

NIC 目录描述环境文件

single-nic-vlans

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

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

single-nic-linux-bridge-vlans

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

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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.