3.10.6. Configuring a cluster with dual-stack networking
Deploy a cluster with both IPv4 and IPv6 addressing on Red Hat OpenStack Platform (RHOSP). From RHOSP 17.1, you can use single-stack IPv6 infrastructure while the cluster provides internal IPv4 connectivity.
You can create a dual-stack cluster on RHOSP.
For RHOSP 17.1, you can deploy a dual-stack OpenShift Container Platform cluster on a single-stack IPv6 RHOSP infrastructure. The OpenShift Container Platform cluster offers IPv4 connectivity internally, even when the underlying RHOSP network only has IPv6 subnets.
For earlier versions of RHOSP, you can enable the dual-stack configuration 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.10.6.1. Deploying the dual-stack cluster 링크 복사링크가 클립보드에 복사되었습니다!
Create dual-stack networks and VIPs, then edit the install-config.yaml file to deploy an cluster with both IPv4 and IPv6 addressing on Red Hat OpenStack Platform (RHOSP).
Procedure
Create a network with the required subnets:
-
For RHOSP 17.1, you can create a network with an IPv6 subnet. The OpenShift Container Platform cluster offers IPv4 connectivity internally. In the
install-config.yamlfile, you specify both IPv4 and IPv6 subnets in thecontrolPlanePort.fixedIPssection. For earlier versions of RHOSP, create a network with both IPv4 and IPv6 subnets.
The available address modes for the
ipv6-ra-modeandipv6-address-modefields are:dhcpv6-stateful,dhcpv6-stateless, andslaac.참고The dual-stack network MTU must accommodate both the minimum MTU for IPv6, which is 1280, and the OVN-Kubernetes encapsulation requirement, which is 100 bytes.
참고DHCP must be enabled on the subnets.
-
For RHOSP 17.1, you can create a network with an IPv6 subnet. The OpenShift Container Platform cluster offers IPv4 connectivity internally. In the
- 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: - cidr: "192.168.25.0/24" - cidr: "fd2e:6f44:5dd8:c956::/64" clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd01::/48 hostPrefix: 64 serviceNetwork: - 172.30.0.0/16 - fd02::/112 platform: openstack: ingressVIPs: ['192.168.25.79', 'fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad'] apiVIPs: ['192.168.25.199', 'fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36'] controlPlanePort: fixedIPs: - subnet: name: subnet-v4 id: subnet-v4-id - subnet: name: subnet-v6 id: subnet-v6-id network: name: dualstack id: network-id-
networking.machineNetwork,networking.clusterNetwork, andnetworking.serviceNetworkspecify IP address ranges for both the IPv4 and IPv6 address families. For RHOSP 17.1 deployments on single-stack IPv6 infrastructure, the OpenShift Container Platform cluster offers IPv4 connectivity internally. -
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.참고For RHOSP 17.1 deployments on single-stack IPv6 infrastructure, you can deploy a dual-stack OpenShift Container Platform cluster. In the
install-config.yamlfile, specify both IPv4 and IPv6 address ranges for the cluster and service networks. The OpenShift Container Platform cluster offers IPv4 connectivity internally, even though the underlying RHOSP network only has IPv6 subnets. In thecontrolPlanePort.fixedIPssection, specify both the IPv4 and IPv6 subnets.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. For RHOSP 17.1 deployments on single-stack IPv6 infrastructure, the OpenShift Container Platform cluster offers IPv4 connectivity internally. -
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 might 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.conf that has the following configuration:
[connection]
type=ethernet
[ipv6]
addr-gen-mode=eui64
method=auto
To resolve this problem on RHEL 9, create a file called /etc/NetworkManager/conf.d/required-rhel9-ipv6.conf that has the following configuration:
[connection]
ipv6.addr-gen-mode=0
After you create and edit the file, reboot the installation host.
The ip=dhcp,dhcp6 kernel argument, which is set on all of the nodes, results in a single Network Manager connection profile that activates on many interfaces simultaneously. Because of this behavior, any additional network has the same connection enforced with the same 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.