|
| 1 | +// Module included in the following assemblies: |
| 2 | +// |
| 3 | +// * installing/installing_openstack/installing-openstack-installer-custom.adoc |
| 4 | + |
| 5 | +:_mod-docs-content-type: PROCEDURE |
| 6 | +[id="installation-configuring-shiftstack-single-ipv6_{context}"] |
| 7 | += Configuring a cluster with single-stack IPv6 networking |
| 8 | + |
| 9 | +You can create a single-stack IPv6 cluster on {rh-openstack-first} after you configure your {rh-openstack} deployment. |
| 10 | + |
| 11 | +IMPORTANT: You cannot convert a dual-stack cluster into a single-stack IPv6 cluster. |
| 12 | + |
| 13 | +.Prerequisites |
| 14 | + |
| 15 | +* Your {rh-openstack} deployment has an existing network with a DHCPv6-stateful IPv6 subnet to use as the machine network. |
| 16 | +* DNS is configured for the existing IPv6 subnet. |
| 17 | +* The IPv6 subnet is added to a {rh-openstack} router, and the router is configured to send router advertisements (RAs). |
| 18 | +* You added any additional IPv6 subnets that are used in the cluster to an {rh-openstack} router to enable router advertisements. |
| 19 | ++ |
| 20 | +NOTE: Using an IPv6 SLAAC subnet is not supported because any `dns_nameservers` addresses are not enforced by {rh-openstack} Neutron. |
| 21 | +* You have a mirror registry with an IPv6 interface. |
| 22 | +* The {rh-openstack} network accepts a minimum MTU size of 1442 bytes. |
| 23 | +* You created API and ingress virtual IP addresses (VIPs) as {rh-openstack} ports on the machine network and included those addresses in the `install-config.yaml` file. |
| 24 | +
|
| 25 | +.Procedure |
| 26 | + |
| 27 | +. Create the API VIP port on the network by running the following command: |
| 28 | ++ |
| 29 | +[source,bash] |
| 30 | +---- |
| 31 | +$ openstack port create api --network <v6_machine_network> |
| 32 | +---- |
| 33 | + |
| 34 | +. Create the Ingress VIP port on the network by running the following command: |
| 35 | ++ |
| 36 | +[source,bash] |
| 37 | +---- |
| 38 | +$ openstack port create ingress --network <v6_machine_network> |
| 39 | +---- |
| 40 | + |
| 41 | +. After the networking resources are pre-created, deploy a cluster by using an `install-config.yaml` file that reflects your IPv6 network configuration. As an example: |
| 42 | ++ |
| 43 | +[source,yaml] |
| 44 | +---- |
| 45 | +apiVersion: v1 |
| 46 | +baseDomain: mydomain.test |
| 47 | +compute: |
| 48 | +- name: worker |
| 49 | + platform: |
| 50 | + openstack: |
| 51 | + type: m1.xlarge |
| 52 | + replicas: 3 |
| 53 | +controlPlane: |
| 54 | + name: master |
| 55 | + platform: |
| 56 | + openstack: |
| 57 | + type: m1.xlarge |
| 58 | + replicas: 3 |
| 59 | +metadata: |
| 60 | + name: mycluster |
| 61 | +networking: |
| 62 | + machineNetwork: |
| 63 | + - cidr: "fd2e:6f44:5dd8:c956::/64" # <1> |
| 64 | + clusterNetwork: |
| 65 | + - cidr: fd01::/48 |
| 66 | + hostPrefix: 64 |
| 67 | + serviceNetwork: |
| 68 | + - fd02::/112 |
| 69 | +platform: |
| 70 | + openstack: |
| 71 | + ingressVIPs: ['fd2e:6f44:5dd8:c956::383'] # <2> |
| 72 | + apiVIPs: ['fd2e:6f44:5dd8:c956::9a'] # <2> |
| 73 | + controlPlanePort: |
| 74 | + fixedIPs: # <3> |
| 75 | + - subnet: |
| 76 | + name: subnet-v6 |
| 77 | + network: # <3> |
| 78 | + name: v6-network |
| 79 | +imageContentSources: #<4> |
| 80 | +- mirrors: |
| 81 | + - <mirror> |
| 82 | + source: quay.io/openshift-release-dev/ocp-v4.0-art-dev |
| 83 | +- mirrors: |
| 84 | + - <mirror> |
| 85 | + source: registry.ci.openshift.org/ocp/release |
| 86 | +additionalTrustBundle: | |
| 87 | +<certificate_of_the_mirror> |
| 88 | +---- |
| 89 | +<1> The CIDR of the subnet specified in this field must match the CIDR of the subnet that is specified in the `controlPlanePort` section. |
| 90 | +<2> Use the address from the ports you generated in the previous steps as the values for the parameters `platform.openstack.ingressVIPs` and `platform.openstack.apiVIPs`. |
| 91 | +<3> Items under the `platform.openstack.controlPlanePort.fixedIPs` and `platform.openstack.controlPlanePort.network` keys can contain an ID, a name, or both. |
| 92 | +<4> The `imageContentSources` section contains the mirror details. For more information on configuring a local image registry, see "Creating a mirror registry with mirror registry for Red Hat OpenShift". |
0 commit comments