mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 21:46:22 +01:00
When using additional networks on a dual-stack cluster, the same network manager connection would be enforced to all the additional networks. This commit, informes the users about that behavior and recommends an alternative if different connections are desired. Co-authored-by: Max Bridges <mbridges@redhat.com>
173 lines
5.6 KiB
Plaintext
173 lines
5.6 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * installing/installing_openstack/installing-openstack-installer-custom.adoc
|
|
:_mod-docs-content-type: PROCEDURE
|
|
[id="install-osp-deploy-dualstack_{context}"]
|
|
= Deploying the dual-stack cluster
|
|
|
|
.Procedure
|
|
|
|
. Create a network with IPv4 and IPv6 subnets. The available address modes for the `ipv6-ra-mode` and `ipv6-address-mode` fields are: `dhcpv6-stateful`, `dhcpv6-stateless`, and `slaac`.
|
|
+
|
|
[NOTE]
|
|
====
|
|
The dualstack network MTU must accommodate both the minimum MTU for IPv6, which is 1280, and the OVN-Kubernetes encapsulation overhead, which is 100.
|
|
====
|
|
+
|
|
[NOTE]
|
|
====
|
|
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.yaml` file. The following is an example of an `install-config.yaml` file:
|
|
+
|
|
.Example `install-config.yaml`
|
|
|
|
[source, yaml]
|
|
----
|
|
apiVersion: 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: <1>
|
|
- cidr: 10.128.0.0/14
|
|
hostPrefix: 23
|
|
- cidr: fd01::/48
|
|
hostPrefix: 64
|
|
serviceNetwork: <1>
|
|
- 172.30.0.0/16
|
|
- fd02::/112
|
|
platform:
|
|
openstack:
|
|
ingressVIPs: ['192.168.25.79', 'fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad'] <2>
|
|
apiVIPs: ['192.168.25.199', 'fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36'] <3>
|
|
controlPlanePort: <4>
|
|
fixedIPs: <5>
|
|
- subnet: <6>
|
|
name: subnet-v4
|
|
id: subnet-v4-id
|
|
- subnet: <6>
|
|
name: subnet-v6
|
|
id: subnet-v6-id
|
|
network: <7>
|
|
name: dualstack
|
|
id: network-id
|
|
----
|
|
<1> You must specify an IP address range for both the IPv4 and IPv6 address families.
|
|
<2> Specify the virtual IP (VIP) address endpoints for the Ingress VIP services to provide an interface to the cluster.
|
|
<3> Specify the virtual IP (VIP) address endpoints for the API VIP services to provide an interface to the cluster.
|
|
<4> Specify the dual-stack network details that are used by all of the nodes across the cluster.
|
|
<5> The CIDR of any subnet specified in this field must match the CIDRs listed on `networks.machineNetwork`.
|
|
<6> You can specify a value for either `name` or `id`, or both.
|
|
<7> Specifying the `network` under the `ControlPlanePort` field is optional.
|
|
+
|
|
Alternatively, if you want an IPv6 primary dual-stack cluster, edit the `install-config.yaml` file following the example below:
|
|
+
|
|
.Example `install-config.yaml`
|
|
|
|
[source, yaml]
|
|
----
|
|
apiVersion: 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: <1>
|
|
- cidr: fd01::/48
|
|
hostPrefix: 64
|
|
- cidr: 10.128.0.0/14
|
|
hostPrefix: 23
|
|
serviceNetwork: <1>
|
|
- fd02::/112
|
|
- 172.30.0.0/16
|
|
platform:
|
|
openstack:
|
|
ingressVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad', '192.168.25.79'] <2>
|
|
apiVIPs: ['fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36', '192.168.25.199'] <3>
|
|
controlPlanePort: <4>
|
|
fixedIPs: <5>
|
|
- subnet: <6>
|
|
name: subnet-v6
|
|
id: subnet-v6-id
|
|
- subnet: <6>
|
|
name: subnet-v4
|
|
id: subnet-v4-id
|
|
network: <7>
|
|
name: dualstack
|
|
id: network-id
|
|
----
|
|
<1> You must specify an IP address range for both the IPv4 and IPv6 address families.
|
|
<2> Specify the virtual IP (VIP) address endpoints for the Ingress VIP services to provide an interface to the cluster.
|
|
<3> Specify the virtual IP (VIP) address endpoints for the API VIP services to provide an interface to the cluster.
|
|
<4> Specify the dual-stack network details that are used by all the nodes across the cluster.
|
|
<5> The CIDR of any subnet specified in this field must match the CIDRs listed on `networks.machineNetwork`.
|
|
<6> You can specify a value for either `name` or `id`, or both.
|
|
<7> Specifying the `network` under the `ControlPlanePort` field is optional.
|
|
|
|
[NOTE]
|
|
====
|
|
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 {op-system-base-full} 8, create a file called `/etc/NetworkManager/system-connections/required-rhel8-ipv6.conf` that contains the following configuration:
|
|
|
|
[source,text]
|
|
----
|
|
[connection]
|
|
type=ethernet
|
|
[ipv6]
|
|
addr-gen-mode=eui64
|
|
method=auto
|
|
----
|
|
|
|
To resolve this problem on {op-system-base} 9, create a file called `/etc/NetworkManager/conf.d/required-rhel9-ipv6.conf` that contains the following configuration:
|
|
|
|
[source,text]
|
|
----
|
|
[connection]
|
|
ipv6.addr-gen-mode=0
|
|
----
|
|
|
|
After you create and edit the file, reboot the installation host.
|
|
====
|
|
|
|
[NOTE]
|
|
====
|
|
The `ip=dhcp,dhcp6` kernel 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.
|
|
==== |