第 8 章 为 Red Hat OpenStack Platform 环境自定义网络
您可以为 Red Hat OpenStack Platform (RHOSP)环境自定义 undercloud 和 overcloud 物理网络。
8.1. 自定义 undercloud 网络 复制链接链接已复制到粘贴板!
您可以自定义 undercloud 网络配置,以使用特定的网络功能安装 undercloud。如果您有 IPv6 节点和基础架构,您还可以将 undercloud 和 provisioning 网络配置为使用 IPv6 而不是 IPv4。
8.1.1. 配置 undercloud 网络接口 复制链接链接已复制到粘贴板!
在 undercloud.conf 文件中包含自定义网络配置,以使用特定的网络功能安装 undercloud。例如,一些接口可能没有 DHCP。在这种情况下,您必须在 undercloud.conf 文件中禁用这些接口的 DHCP,以便 os-net-config 可在 undercloud 安装过程中应用配置。
步骤
- 登录 undercloud 主机。
创建新文件
undercloud-os-net-config.yaml,并包含所需的网络配置。在
addresses部分中,包含local_ip,如172.20.0.1/26。如果在 undercloud 中启用了 TLS,还必须包含undercloud_public_host,如172.20.0.2/32和undercloud_admin_host,如172.20.0.3/32。下面是一个示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要为特定接口创建网络绑定,请使用以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
undercloud-os-net-config.yaml文件的路径包含在undercloud.conf文件的net_config_override参数中:[DEFAULT] ... net_config_override=undercloud-os-net-config.yaml ...
[DEFAULT] ... net_config_override=undercloud-os-net-config.yaml ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意director 使用您在
net_config_override参数中包含的文件作为模板来生成/etc/os-net-config/config.yaml文件。os-net-config管理您在模板中定义的接口,因此您必须在此文件中执行所有 undercloud 网络接口自定义。- 安装 undercloud。
验证
在 undercloud 安装成功完成后,验证
/etc/os-net-net-config/config.yaml文件是否包含相关配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.1.2. 为使用 IPv6 的裸机置备配置 undercloud 复制链接链接已复制到粘贴板!
如果有使用 IPv6 的节点和基础架构,您可以将 undercloud 和置备网络配置为使用 IPv6 而不是 IPv4,以便 director 能够在 IPv6 节点上置备和部署 Red Hat OpenStack Platform。但是,有一些注意事项:
- 双堆栈 IPv4/6 不可用。
- Tempest 验证可能无法正确执行。
- 在升级过程中,无法进行 IPv4 到 IPv6 的迁移。
修改 undercloud.conf 文件,以便在 Red Hat OpenStack Platform 中启用 IPv6 置备。
先决条件
- undercloud 上的 IPv6 地址。如需更多信息,请参阅 Overcloud 的 IPv6 网络指南中的在 undercloud 上配置 IPv6 地址。
流程
-
打开
undercloud.conf文件。 将 IPv6 地址模式指定为 stateless 或 stateful :
[DEFAULT] ipv6_address_mode = <address_mode> ...
[DEFAULT] ipv6_address_mode = <address_mode> ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
根据 NIC 支持的模式,将 <
address_mode> 替换为dhcpv6-stateless或dhcpv6-stateful。
注意当您使用有状态地址模式时,固件、链加载程序和操作系统可能会使用不同的算法来生成 DHCP 服务器跟踪的 ID。DHCPv6 不会通过 MAC 跟踪地址,如果请求者的标识符值改变但 MAC 地址保持不变,则不会提供相同的地址。因此,当您使用有状态 DHCPv6 时,还必须完成下一步来配置网络接口。
-
根据 NIC 支持的模式,将 <
如果您将 undercloud 配置为使用有状态 DHCPv6,请指定用于裸机节点的网络接口:
[DEFAULT] ipv6_address_mode = dhcpv6-stateful ironic_enabled_network_interfaces = neutron,flat ...
[DEFAULT] ipv6_address_mode = dhcpv6-stateful ironic_enabled_network_interfaces = neutron,flat ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为裸机节点设置默认网络接口:
[DEFAULT] ... ironic_default_network_interface = neutron ...
[DEFAULT] ... ironic_default_network_interface = neutron ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定 undercloud 是否应该在 provisioning 网络中创建一个路由器:
[DEFAULT] ... enable_routed_networks: <true/false> ...
[DEFAULT] ... enable_routed_networks: <true/false> ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<true/false>替换为true来启用路由网络,并防止 undercloud 在置备网络上创建路由器。如果外部数据中心路由器附加到 provisioning 网络,则将其设置为true。为true时,数据中心路由器必须提供路由器公告。另外,数据中心路由器的M'和O'标志设置必须与ipv6_address_mode'设置一致。 -
将
<true/false>替换为false来禁用路由网络,并在 provisioning 网络中创建一个路由器。如果没有将外部数据中心路由器附加到 provisioning 网络,则将其设置为false。
-
将
配置本地 IP 地址,以及通过 SSL/TLS 的 director Admin API 和公共 API 端点的 IP 地址:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<ipv6_address> 替换为 undercloud 的 IPv6 地址。
-
将
可选:配置 director 用来管理实例的 provisioning 网络:
[ctlplane-subnet] cidr = <ipv6_address>/<ipv6_prefix> ...
[ctlplane-subnet] cidr = <ipv6_address>/<ipv6_prefix> ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<ipv6_address> 替换为在没有使用默认 provisioning 网络时用于管理实例的网络的 IPv6 地址。 -
在不使用默认置备网络时,将 <
ipv6_prefix> 替换为网络的 IP 地址前缀,用于管理实例。
-
将
为置备节点配置 DHCP 分配范围:
[ctlplane-subnet] cidr = <ipv6_address>/<ipv6_prefix> dhcp_start = <ipv6_address_dhcp_start> dhcp_end = <ipv6_address_dhcp_end> ...
[ctlplane-subnet] cidr = <ipv6_address>/<ipv6_prefix> dhcp_start = <ipv6_address_dhcp_start> dhcp_end = <ipv6_address_dhcp_end> ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<ipv6_address_dhcp_start> 替换为用于 overcloud 节点的网络范围的 IPv6 地址。 -
将
<ipv6_address_dhcp_end> 替换为用于 overcloud 节点的网络范围末尾的 IPv6 地址。
-
将
可选:配置将流量转发到外部网络的网关:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在不使用默认网关时,将
<ipv6_gateway_address>替换为网关的 IPv6 地址。
-
在不使用默认网关时,将
将 DHCP 范围配置为在检查过程中使用:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 <
ipv6_address_inspection_start> 替换为在检查过程中要使用的网络范围的 IPv6 地址。 -
将 <
ipv6_address_inspection_end> 替换为在检查过程中要使用的网络范围末尾的 IPv6 地址。
注意这个范围不得与
dhcp_start和dhcp_end定义的范围重叠,但必须位于同一 IP 子网。-
将 <
为子网配置 IPv6 名称服务器:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<ipv6_dns>替换为特定于子网的 DNS 名称服务器。
-
将
-
使用
virt-customize工具修改 overcloud 镜像,以禁用cloud-init网络配置。有关更多信息,请参阅红帽知识库解决方案 使用 virt-customize 修改 Red Hat Linux OpenStack Platform Overcloud 镜像。