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
$ sudo cp -r /usr/share/openstack-tripleo-heat-templates/network/config/single-nic-vlans ~/templates/nic-configs
有关网络接口配置的更多信息,请参阅 Red Hat Enterprise Linux OpenStack Platform 8 Director 安装和使用中的创建自定义 接口 模板。
两个接口模板集合都包含两个用于配置控制器节点的文件: controller.yaml 和 controller-v6.yaml。使用 controller-v6.yaml 来配置 IPv6。
2.4.2. 配置 IPv6 隔离网络 复制链接链接已复制到粘贴板!
Overcloud 需要网络环境文件来配置 IPv6。此文件是描述 Overcloud 网络环境并指向网络接口配置模板的 Heat 环境文件。在这种情况下,创建一个环境文件(/home/stack/network-environment.yaml),并包含以下部分。
本节将每个接口模板作为一个资源注册。在创建 Overcloud 时,主 Heat 模板集合在为每个节点类型配置网络时调用适当的 OS::TripleO::*::Net::SoftwareConfig 资源。如果没有这些资源,则主要的 Heat 模板集合使用来自主资源 registry 的默认网络配置集合。
两个接口模板集合都包含两个用于配置控制器节点的文件: controller.yaml 和 controller-v6.yaml。使用 controller-v6.yaml 来配置 IPv6。
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
$ sudo cp /usr/share/openstack-tripleo-heat-templates/environments/network-isolation-v6.yaml ~/templates/nic-configs/network-isolation-v6.yaml
编辑该文件,以映射存储和存储管理资源,以使用模板的 IPv4 版本。例如:
在运行 openstack overcloud deploy 时,包含自定义 network-isolation-v6.yaml 而不是原始的。
此外,修改 /home/stack/network-environment.yaml 中的 parameter_defaults 部分,以定义其对应网络的 IPv6 和 IPv4 分配混合。例如:
如果在 Overcloud 中使用 VXLAN 网络,请将租户网络设置为使用 IPv4。租户网络不支持 IPv6 VXLAN。