3.9.6. Configuring a cluster with dual-stack networking
You can create a dual-stack cluster on RHOSP. However, the dual-stack configuration is enabled only if you are using an RHOSP network with IPv4 and IPv6 subnets.
RHOSP does not support the conversion of an IPv4 single-stack cluster to a dual-stack cluster network.
3.9.6.1. Deploying the dual-stack cluster 링크 복사링크가 클립보드에 복사되었습니다!
Procedure
Create a network with IPv4 and IPv6 subnets. The available address modes for the
ipv6-ra-modeandipv6-address-modefields are:dhcpv6-stateful,dhcpv6-stateless, andslaac.참고The dualstack network MTU must accommodate both the minimum MTU for IPv6, which is 1280, and the OVN-Kubernetes encapsulation overhead, which is 100.
참고DHCP must be enabled on the subnets.
- Create the API and Ingress VIPs ports.
- Add the IPv6 subnet to the router to enable router advertisements. If you are using a provider network, you can enable router advertisements by adding the network as an external gateway, which also enables external connectivity.
To configure IPv4 and IPv6 address endpoints for cluster nodes, edit the
install-config.yamlfile. The following is an example of aninstall-config.yamlfile:Example
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
- You must specify an IP address range for both the IPv4 and IPv6 address families.
- 4
- Specify the virtual IP (VIP) address endpoints for the Ingress VIP services to provide an interface to the cluster.
- 5
- Specify the virtual IP (VIP) address endpoints for the API VIP services to provide an interface to the cluster.
- 6
- Specify the dual-stack network details that are used by all of the nodes across the cluster.
- 7
- The CIDR of any subnet specified in this field must match the CIDRs listed on
networks.machineNetwork. - 8 9
- You can specify a value for either
nameorid, or both. - 10
- Specifying the
networkunder theControlPlanePortfield is optional.Alternatively, if you want an IPv6 primary dual-stack cluster, edit the
install-config.yamlfile following the example below:Example
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: - cidr: "fd2e:6f44:5dd8:c956::/64" - cidr: "192.168.25.0/24" clusterNetwork: - cidr: fd01::/48 hostPrefix: 64 - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - fd02::/112 - 172.30.0.0/16 platform: openstack: ingressVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad', '192.168.25.79'] apiVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36', '192.168.25.199'] controlPlanePort: fixedIPs: - subnet: name: subnet-v6 id: subnet-v6-id - subnet: name: subnet-v4 id: subnet-v4-id network: name: dualstack id: network-id-
networking.machineNetwork,networking.clusterNetwork, andnetworking.serviceNetworkspecify IP address ranges for both the IPv4 and IPv6 address families. -
platform.openstack.ingressVIPsspecifies the virtual IP (VIP) address endpoints for the Ingress VIP services to give an interface to the cluster. -
platform.openstack.apiVIPsspecifies the virtual IP (VIP) address endpoints for the API VIP services to give an interface to the cluster. -
platform.openstack.controlPlanePortspecifies the dual-stack network details that all the nodes across the cluster use. -
platform.openstack.controlPlanePort.fixedIPsspecifies the subnets for the control plane port. The CIDR of any subnet specified in this field must match the CIDRs listed onnetworking.machineNetwork. -
platform.openstack.controlPlanePort.fixedIPs[].subnetspecifies each subnet. You can specify a value for eithernameorid, or both. platform.openstack.controlPlanePort.networkspecifies the network. Specifying thenetworkunder thecontrolPlanePortfield is optional.참고When using an installation host in an isolated dual-stack network, the IPv6 address may not be reassigned correctly upon reboot.
To resolve this problem on Red Hat Enterprise Linux (RHEL) 8, create a file called
/etc/NetworkManager/system-connections/required-rhel8-ipv6.confthat contains the following configuration:[connection] type=ethernet [ipv6] addr-gen-mode=eui64 method=autoTo resolve this problem on RHEL 9, create a file called
/etc/NetworkManager/conf.d/required-rhel9-ipv6.confthat contains the following configuration:[connection] ipv6.addr-gen-mode=0After you create and edit the file, reboot the installation host.
참고The
ip=dhcp,dhcp6kernel argument, which is set on all of the nodes, results in a single Network Manager connection profile that is activated on multiple interfaces simultaneously. Because of this behavior, any additional network has the same connection enforced with an identical UUID. If you need an interface-specific configuration, create a new connection profile for that interface so that the default connection is no longer enforced on it.
-