mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 21:46:22 +01:00
167 lines
5.2 KiB
Plaintext
167 lines
5.2 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.
|
|
==== |