2.4. 配置网络


本节检查 Overcloud 的网络配置。这包括隔离服务以使用特定的网络流量和使用我们的 IPv6 选项配置 Overcloud。

2.4.1. 配置接口

Overcloud 需要一组网络接口模板。这些模板是 YAML 格式的标准 Heat 模板。director 包含一组示例模板供您入门:

  • /usr/share/openstack-tripleo-heat-templates/network/config/single-nic-vlans - 目录,包含每个角色上具有 VLAN 配置的单个 NIC 的模板。
  • /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans - 目录,其中包含每个角色上绑定 NIC 配置的模板。

将其中一个模板集合复制到 stack 用户的 templates 目录中。例如:

$ sudo cp -r /usr/share/openstack-tripleo-heat-templates/network/config/single-nic-vlans ~/templates/nic-configs
Copy to Clipboard Toggle word wrap

有关网络接口配置的更多信息,请参阅 Red Hat Enterprise Linux OpenStack Platform 8 Director 安装和使用中的创建自定义 接口 模板

注意

两个接口模板集合都包含两个用于配置控制器节点的文件: controller.yamlcontroller-v6.yaml。使用 controller-v6.yaml 来配置 IPv6。

2.4.2. 配置 IPv6 隔离网络

Overcloud 需要网络环境文件来配置 IPv6。此文件是描述 Overcloud 网络环境并指向网络接口配置模板的 Heat 环境文件。在这种情况下,创建一个环境文件(/home/stack/network-environment.yaml),并包含以下部分。

resource_registry:
  OS::TripleO::BlockStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/cinder-storage.yaml
  OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml
  OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller-v6.yaml
  OS::TripleO::ObjectStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/swift-storage.yaml
  OS::TripleO::CephStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/ceph-storage.yaml
Copy to Clipboard Toggle word wrap

本节将每个接口模板作为一个资源注册。在创建 Overcloud 时,主 Heat 模板集合在为每个节点类型配置网络时调用适当的 OS::TripleO::*::Net::SoftwareConfig 资源。如果没有这些资源,则主要的 Heat 模板集合使用来自主资源 registry 的默认网络配置集合。

注意

两个接口模板集合都包含两个用于配置控制器节点的文件: controller.yamlcontroller-v6.yaml。使用 controller-v6.yaml 来配置 IPv6。

parameter_defaults:
  DnsServers: ["8.8.8.8","8.8.4.4"]
  ControlPlaneSubnetCidr: "24"
  EC2MetadataIp: 192.0.2.1
  ControlPlaneDefaultRoute: 192.0.2.1
  ExternalInterfaceDefaultRoute: 2001:db8::1

  ExternalNetworkVlanID: 100
  ExternalNetCidr: '2001:db8:0:1::/64'
  ExternalAllocationPools: [{'start': '2001:db8:0:1::10', 'end': '2001:db8:0:1:ffff:ffff:ffff:fffe'}]

  InternalApiNetworkVlanID: 201
  InternalApiNetCidr: 'fd00:fd00:fd00:2000::/64'
  InternalApiAllocationPools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]

  TenantNetworkVlanID: 202
  TenantNetCidr: 172.17.0.0/24
  TenantAllocationPools: [{'start': '172.17.0.10', 'end': '172.17.0.200'}]

  StorageNetworkVlanID: 203
  StorageNetCidr: 'fd00:fd00:fd00:4000::/64'
  StorageAllocationPools: [{'start': 'fd00:fd00:fd00:4000:0000:0000:0000:0000', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:ffff'}]

  StorageMgmtNetworkVlanID: 204
  StorageMgmtNetCidr: 'fd00:fd00:fd00:5000::/64'
  StorageMgmtAllocationPools: [{'start': 'fd00:fd00:fd00:5000:0000:0000:0000:0000', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:ffff'}]
Copy to Clipboard Toggle word wrap

parameter_defaults 部分包含环境的自定义。请注意 IPv6 设置的以下参数:

ExternalInterfaceDefaultRoute
外部接口默认路由的 IP 地址。在这种情况下,您将使用 Undercloud 作为默认路由,并指定 第 2.2 节 “在 Undercloud 上配置 IPv6 地址” 中创建的 IP 地址。
ExternalNetworkVlanID
外部网络的 VLAN ID。如果使用 VLAN 访问 Undercloud 上的外部网络(请参见 第 2.2 节 “在 Undercloud 上配置 IPv6 地址”),请确保为这个值映射相同的 VLAN。
ExternalNetCidr, InternalApiNetCidr, TenantNetCidr, StorageNetCidr, StorageMgmtNetCidr
每个对应网络的 IPv6 CIDR 前缀。
ExternalAllocationPools, InternalApiAllocationPools, TenantAllocationPools, StorageAllocationPools, StorageMgmtAllocationPools
要分配给节点的 IPv6 地址范围。这对于确保不会发生 IPv6 冲突非常有用。

2.4.3. 使用混合 IPv6/IPv4 配置

可以将 Overcloud 配置为将 IPv4 和 IPv6 网络组合用于各种服务。这要求修改 Overcloud 中的网络和端口。例如,我们可能旨在在 IPv4 上部署存储和存储管理网络,而其他网络则使用 IPv6。

复制网络隔离初始化文件(network-isolation-v6.yaml):

$ sudo cp /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml ~/templates/nic-configs/network-isolation-v6.yaml
Copy to Clipboard Toggle word wrap

编辑该文件,以映射存储和存储管理资源,以使用模板的 IPv4 版本。例如:

resource_registry:
  OS::TripleO::Network::External: ../network/external_v6.yaml
  OS::TripleO::Network::InternalApi: ../network/internal_api_v6.yaml
  OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt.yaml   # Changed for IPv4
  OS::TripleO::Network::Storage: ../network/storage.yaml            # Changed for IPv4
  OS::TripleO::Network::Tenant: ../network/tenant_v6.yaml

# Port assignments for the VIPs
  OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_v6.yaml
  OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
  OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml            # Changed for IPv4
  OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml   # Changed for IPv4
  OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml

# Port assignments for the controller role
  OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_v6.yaml
  OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml
  OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage.yaml            # Changed for IPv4
  OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml   # Changed for IPv4
  OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant_v6.yaml

...
Copy to Clipboard Toggle word wrap

在运行 openstack overcloud deploy 时,包含自定义 network-isolation-v6.yaml 而不是原始的。

此外,修改 /home/stack/network-environment.yaml 中的 parameter_defaults 部分,以定义其对应网络的 IPv6 和 IPv4 分配混合。例如:

parameter_defaults:
  DnsServers: ["8.8.8.8","8.8.4.4"]
  ControlPlaneSubnetCidr: "24"
  EC2MetadataIp: 192.0.2.1
  ControlPlaneDefaultRoute: 192.0.2.1
  ExternalInterfaceDefaultRoute: 2001:db8::1

  ExternalNetworkVlanID: 100
  ExternalNetCidr: '2001:db8:0:1::/64'
  ExternalAllocationPools: [{'start': '2001:db8:0:1::10', 'end': '2001:db8:0:1:ffff:ffff:ffff:fffe'}]

  InternalApiNetworkVlanID: 201
  InternalApiNetCidr: 'fd00:fd00:fd00:2000::/64'
  InternalApiAllocationPools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]

  TenantNetworkVlanID: 202
  TenantNetCidr: 172.17.0.0/24
  TenantAllocationPools: [{'start': '172.17.0.10', 'end': '172.17.0.200'}]

  StorageNetworkVlanID: 203
  StorageNetCidr: 172.18.0.0/24
  StorageAllocationPools: [{'start': '172.18.0.10', 'end': '172.18.0.200'}]

  StorageMgmtNetworkVlanID: 204
  StorageMgmtNetCidr: 172.19.0.0/24
  StorageMgmtAllocationPools: [{'start': '172.19.0.10', 'end': '172.19.0.200'}]
Copy to Clipboard Toggle word wrap
重要

如果在 Overcloud 中使用 VXLAN 网络,请将租户网络设置为使用 IPv4。租户网络不支持 IPv6 VXLAN。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部