3.10.6. 使用双栈网络配置集群
您可以在 RHOSP 上创建双栈集群。但是,只有在您使用带有 IPv4 和 IPv6 子网的 RHOSP 网络时,才会启用双栈配置。
RHOSP 不支持将 IPv4 单堆栈集群转换为双栈集群网络。
3.10.6.1. 部署双栈集群 复制链接链接已复制到粘贴板!
流程
创建具有 IPv4 和 IPv6 子网的网络。
ipv6-ra-mode和ipv6-address-mode字段的可用地址模式包括:dhcpv6-stateful,dhcpv6-stateless, 和slaac。注意双栈网络 MTU 必须同时容纳 IPv6 的最小 MTU,即 1280,OVN-Kubernetes 封装开销为 100。
注意必须在子网上启用 DHCP。
- 创建 API 和 Ingress VIP 端口。
- 将 IPv6 子网添加到路由器,以启用路由器公告。如果使用提供商网络,您可以通过将网络添加为外部网关来启用路由器广告,该网关也可以启用外部连接。
要为集群节点配置 IPv4 和 IPv6 地址端点,请编辑
install-config.yaml文件。以下是install-config.yaml文件示例:示例
install-config.yamlapiVersion: v1 baseDomain: mydomain.test compute: - name: worker platform: openstack: type: m1.xlarge replicas: 3 controlPlane: name: master platform: openstack: type: m1.xlarge replicas: 3 metadata: name: mycluster networking: machineNetwork:1 - cidr: "192.168.25.0/24" - cidr: "fd2e:6f44:5dd8:c956::/64" clusterNetwork:2 - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd01::/48 hostPrefix: 64 serviceNetwork:3 - 172.30.0.0/16 - fd02::/112 platform: openstack: ingressVIPs: ['192.168.25.79', 'fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad']4 apiVIPs: ['192.168.25.199', 'fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36']5 controlPlanePort:6 fixedIPs:7 - subnet:8 name: subnet-v4 id: subnet-v4-id - subnet:9 name: subnet-v6 id: subnet-v6-id network:10 name: dualstack id: network-id- 1 2 3
- 您必须为 IPv4 和 IPv6 地址系列指定一个 IP 地址范围。
- 4
- 指定 Ingress VIP 服务的虚拟 IP (VIP)地址端点,以为集群提供接口。
- 5
- 指定 API VIP 服务的虚拟 IP (VIP)地址端点,以为集群提供接口。
- 6
- 指定集群中所有节点使用的双栈网络详情。
- 7
- 此字段中指定的任何子网的 CIDR 必须与
networks.machineNetwork中列出的 CIDR 匹配。 - 8 9
- 您可以为
name或id指定值,或同时指定两者的值。 - 10 10
- 在
ControlPlanePort字段中指定network是可选的。或者,如果您需要一个 IPv6 主双栈集群,请按照以下示例编辑
install-config.yaml文件:示例
install-config.yamlapiVersion: v1 baseDomain: mydomain.test compute: - name: worker platform: openstack: type: m1.xlarge replicas: 3 controlPlane: name: master platform: openstack: type: m1.xlarge replicas: 3 metadata: name: mycluster networking: machineNetwork:1 - cidr: "fd2e:6f44:5dd8:c956::/64" - cidr: "192.168.25.0/24" clusterNetwork:2 - cidr: fd01::/48 hostPrefix: 64 - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork:3 - fd02::/112 - 172.30.0.0/16 platform: openstack: ingressVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad', '192.168.25.79']4 apiVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36', '192.168.25.199']5 controlPlanePort:6 fixedIPs:7 - subnet:8 name: subnet-v6 id: subnet-v6-id - subnet:9 name: subnet-v4 id: subnet-v4-id network:10 name: dualstack id: network-id - 您必须为 IPv4 和 IPv6 地址系列指定一个 IP 地址范围。
- 指定 Ingress VIP 服务的虚拟 IP (VIP)地址端点,以为集群提供接口。
- 指定 API VIP 服务的虚拟 IP (VIP)地址端点,以为集群提供接口。
- 指定集群中所有节点使用的双栈网络详情。
- 此字段中指定的任何子网的 CIDR 必须与
networks.machineNetwork中列出的 CIDR 匹配。 - 您可以为
name或id指定值,或同时指定两者的值。 - 在
ControlPlanePort字段中指定network是可选的。
当在隔离的双栈网络中使用安装主机时,重启后可能无法正确重新分配 IPv6 地址。
要在 Red Hat Enterprise Linux (RHEL) 8 中解决这个问题,请创建一个名为 /etc/NetworkManager/system-connections/required-rhel8-ipv6.conf 的文件,其中包含以下配置:
[connection]
type=ethernet
[ipv6]
addr-gen-mode=eui64
method=auto
要在 RHEL 9 上解决这个问题,请创建一个名为 /etc/NetworkManager/conf.d/required-rhel9-ipv6.conf 的文件,其中包含以下配置:
[connection]
ipv6.addr-gen-mode=0
创建并编辑文件后,重启安装主机。
ip=dhcp,dhcp6 内核参数(在所有节点上设置)会导致一个同时在多个接口上激活的 Network Manager 连接配置文件。由于此行为,任何额外网络使用相同的 UUID 强制连接。如果您需要特定于接口的配置,为该接口创建新的连接配置集,以便不再对默认连接进行强制。