7.2. 创建网络环境文件


网络环境文件是描述 Overcloud 网络环境的 Heat 环境文件,并指向上一节中的网络接口配置模板。您可以为网络定义子网和 VLAN 以及 IP 地址范围。然后您可以为本地环境自定义这些值。

director 包含一组示例环境文件,供您启动。每个环境文件对应于 /usr/share/openstack-tripleo-heat-templates/network/config/ 中的 example 网络接口文件:

  • /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with- vlans.yaml- 单一 NIC 的带有 VLAN 配置的环境文件。用于禁用外部网络(net-single-nic-with-vlans-no-external.yaml)的环境文件或启用 IPv6 (net-single-nic-with-vlans-v6.yaml)。
  • /usr/share/openstack-tripleo-heat-templates/environments/net-bond-with-vlans.yaml - bond-with-vlans 网络接口目录中绑定 NIC 配置的示例环境文件。用于禁用外部网络(net-bond-with-vlans-no-external.yaml)的环境文件或启用 IPv6 (net-bond-with-vlans-v6.yaml)。
  • /usr/share/openstack-tripleo-heat-templates/environments/net- multiple-nics.yaml - 多个 NIC 配置的示例环境文件。也提供用于启用 IPv6 的环境文件(net-multiple-nics-v6.yaml)。
  • /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-linux-bridge-with-vlans.yaml - 使用 Linux 网桥而不是 Open vSwitch 配置的单一 NIC 的示例环境文件,它使用 single-nic-linux-bridge-vlans 网络接口目录。

此场景使用 /usr/share/openstack-tripleo-heat-templates/environments/net-bond-with-vlans.yaml 文件的修改版本。将这个文件复制到 stack 用户的 templates 目录中。

$ cp /usr/share/openstack-tripleo-heat-templates/environments/net-bond-with-vlans.yaml /home/stack/templates/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.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

parameter_defaults:
  InternalApiNetCidr: 172.16.0.0/24
  TenantNetCidr: 172.17.0.0/24
  StorageNetCidr: 172.18.0.0/24
  StorageMgmtNetCidr: 172.19.0.0/24
  ManagementNetCidr: 172.20.0.0/24
  ExternalNetCidr: 10.1.1.0/24
  InternalApiAllocationPools: [{'start': '172.16.0.10', 'end': '172.16.0.200'}]
  TenantAllocationPools: [{'start': '172.17.0.10', 'end': '172.17.0.200'}]
  StorageAllocationPools: [{'start': '172.18.0.10', 'end': '172.18.0.200'}]
  StorageMgmtAllocationPools: [{'start': '172.19.0.10', 'end': '172.19.0.200'}]
  ManagementAllocationPools: [{'start': '172.20.0.10', 'end': '172.20.0.200'}]
  # Leave room for floating IPs in the External allocation pool
  ExternalAllocationPools: [{'start': '10.1.1.10', 'end': '10.1.1.50'}]
  # Set to the router gateway on the external network
  ExternalInterfaceDefaultRoute: 10.1.1.1
  # Gateway router for the provisioning network (or Undercloud IP)
  ControlPlaneDefaultRoute: 192.0.2.254
  # The IP address of the EC2 metadata server. Generally the IP of the Undercloud
  EC2MetadataIp: 192.0.2.1
  # Define the DNS servers (maximum 2) for the overcloud nodes
  DnsServers: ["8.8.8.8","8.8.4.4"]
  InternalApiNetworkVlanID: 201
  StorageNetworkVlanID: 202
  StorageMgmtNetworkVlanID: 203
  TenantNetworkVlanID: 204
  ManagementNetworkVlanID: 205
  ExternalNetworkVlanID: 100
  NeutronExternalNetworkBridge: "''"
  # Customize bonding options if required
  BondInterfaceOvsOptions:
    "bond_mode=balance-slb"

resource_registry 部分包含每个节点的角色的修改链接到自定义网络接口模板的链接。另外,使用以下格式为自定义角色包含到网络接口模板的链接:

  • OS::TripleO::[ROLE]::Net::SoftwareConfig: [FILE]

[ROLE] 替换为角色名称,将 [FILE] 替换为网络接口模板位置。

parameter_defaults 部分包含参数列表,它们为每个网络类型定义网络选项。有关这些选项的完整参考,请参阅 附录 A, 网络环境选项

此场景定义每个网络的选项。所有网络类型都使用单独的 VLAN 和子网,用于将 IP 地址分配到主机和虚拟 IP。在上例中,内部 API 网络的分配池从 172.16.0.10 开始,并继续使用 VLAN 201 的 172.16.0.200。这会造成从 172.16.0.10 开始分配的静态和虚拟 IP,并在您的环境中使用 VLAN 201 时最多生成 172.16.0.200。

External 网络托管 Horizon 控制面板和公共 API。如果将外部网络用于云管理和浮动 IP,请确保有 IP 池空间,用作虚拟机实例的浮动 IP。在本例中,您只有 10.1.1.10 到 10.1.1.50 的 IP 地址分配给外部网络,这会使 IP 地址从 10.1.1.51 中保留下来,并且上面的 IP 地址可用于浮动 IP 地址。或者,将浮动 IP 网络放在单独的 VLAN 上,并在创建后配置 Overcloud 以使用它。

BondInterfaceOvsOptions 选项使用 nic2nic3 为绑定接口提供选项。有关绑定选项的详情请参考 附录 D, 绑定选项

重要

在创建 Overcloud 后更改网络配置可能会导致配置问题,因为资源的可用性。例如,如果用户在网络隔离模板中更改了网络的子网范围,则重新配置可能会失败,因为子网已经在使用中。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.