Questo contenuto non è disponibile nella lingua selezionata.
Chapter 5. Converting to IPv4/IPv6 dual-stack networking
As a cluster administrator, you can convert your IPv4 single-stack cluster to a dual-network cluster network that supports IPv4 and IPv6 address families. After converting to dual-stack networking, new and existing pods have dual-stack networking enabled.
When using dual-stack networking where IPv6 is required, you cannot use IPv4-mapped IPv6 addresses, such as ::FFFF:198.51.100.1
.
5.1. Converting to a dual-stack cluster network Copia collegamentoCollegamento copiato negli appunti!
As a cluster administrator, you can convert your single-stack cluster network to a dual-stack cluster network.
After converting your cluster to use dual-stack networking, you must re-create any existing pods for them to receive IPv6 addresses, because only new pods are assigned IPv6 addresses.
Converting a single-stack cluster network to a dual-stack cluster network consists of creating patches and applying them to the network and infrastructure of the cluster. You can convert to a dual-stack cluster network for a cluster that runs on either installer-provisioned infrastructure or user-provisioned infrastructure.
Each patch operation that changes clusterNetwork
, serviceNetwork
, apiServerInternalIPs
, and ingressIP
objects triggers a restart of the cluster. Changing the MachineNetworks
object does not cause a reboot of the cluster.
On installer-provisioned infrastructure only, if you need to add IPv6 virtual IPs (VIPs) for API and Ingress services to an existing dual-stack-configured cluster, you need to patch only the infrastructure and not the network for the cluster.
If you already upgraded your cluster to OpenShift Container Platform 4.16 or later and you need to convert the single-stack cluster network to a dual-stack cluster network, you must specify an existing IPv4 machineNetwork
network configuration from the install-config.yaml
file for API and Ingress services in the YAML configuration patch file. This configuration ensures that IPv4 traffic exists in the same network interface as the default gateway.
Example YAML configuration file with an added IPv4 address block for the machineNetwork
network
- op: add path: /spec/platformSpec/baremetal/machineNetworks/- value: 192.168.1.0/24 # ...
- op: add
path: /spec/platformSpec/baremetal/machineNetworks/-
value: 192.168.1.0/24
# ...
- 1
- Ensure that you specify an address block for the
machineNetwork
network where your machines operate. You must select both API and Ingress IP addresses for the machine network.
Prerequisites
-
You installed the OpenShift CLI (
oc
). -
You are logged in to the cluster with a user with
cluster-admin
privileges. - Your cluster uses the OVN-Kubernetes network plugin.
- The cluster nodes have IPv6 addresses.
- You have configured an IPv6-enabled router based on your infrastructure.
Procedure
To specify IPv6 address blocks for cluster and service networks, create a YAML configuration patch file that has a similar configuration to the following example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Specify an object with the
cidr
andhostPrefix
parameters. The host prefix must be64
or greater. The IPv6 Classless Inter-Domain Routing (CIDR) prefix must be large enough to accommodate the specified host prefix. - 2
- Specify an IPv6 CIDR with a prefix of
112
. Kubernetes uses only the lowest 16 bits. For a prefix of112
, IP addresses are assigned from112
to128
bits.
Patch the cluster network configuration by entering the following command in your CLI:
oc patch network.config.openshift.io cluster \ --type='json' --patch-file <file>.yaml
$ oc patch network.config.openshift.io cluster \
1 --type='json' --patch-file <file>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Where
file
specifies the name of your created YAML file.
Example output
network.config.openshift.io/cluster patched
network.config.openshift.io/cluster patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On installer-provisioned infrastructure where you added IPv6 VIPs for API and Ingress services, complete the following steps:
Specify IPv6 VIPs for API and Ingress services for your cluster. Create a YAML configuration patch file that has a similar configuration to the following example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ensure that you specify an address block for the
machineNetwork
network where your machines operate. You must select both API and Ingress IP addresses for the machine network. - 2
- Ensure that you specify each file path according to your platform. The example demonstrates a file path on a bare-metal platform.
Patch the infrastructure by entering the following command in your CLI:
oc patch infrastructure cluster \ --type='json' --patch-file <file>.yaml
$ oc patch infrastructure cluster \ --type='json' --patch-file <file>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Where:
- <file>
Specifies the name of your created YAML file.
Example output
infrastructure/cluster patched
infrastructure/cluster patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification
Show the cluster network configuration by entering the following command in your CLI:
oc describe network
$ oc describe network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify the successful installation of the patch on the network configuration by checking that the cluster network configuration recognizes the IPv6 address blocks that you specified in the YAML file.
Example output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Complete the following additional tasks for a cluster that runs on installer-provisioned infrastructure:
Show the cluster infrastructure configuration by entering the following command in your CLI:
oc describe infrastructure
$ oc describe infrastructure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify the successful installation of the patch on the cluster infrastructure by checking that the infrastructure recognizes the IPv6 address blocks that you specified in the YAML file.
Example output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2. Converting to a single-stack cluster network Copia collegamentoCollegamento copiato negli appunti!
As a cluster administrator, you can convert your dual-stack cluster network to a single-stack cluster network.
If you originally converted your IPv4 single-stack cluster network to a dual-stack cluster, you can convert only back to the IPv4 single-stack cluster and not an IPv6 single-stack cluster network. The same restriction applies for converting back to an IPv6 single-stack cluster network.
Prerequisites
-
You installed the OpenShift CLI (
oc
). -
You are logged in to the cluster with a user with
cluster-admin
privileges. - Your cluster uses the OVN-Kubernetes network plugin.
- The cluster nodes have IPv6 addresses.
- You have enabled dual-stack networking.
Procedure
Edit the
networks.config.openshift.io
custom resource (CR) by running the following command:oc edit networks.config.openshift.io
$ oc edit networks.config.openshift.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Remove the IPv4 or IPv6 configuration that you added to the
cidr
and thehostPrefix
parameters from completing the "Converting to a dual-stack cluster network " procedure steps.