github.com/openshift/installer@v1.4.17/docs/user/openstack/deploy_dual_stack_cluster.md (about)

     1  # Creating a dual-stack cluster on OpenStack
     2  
     3  ## Table of Contents
     4  
     5  - [Prerequisites](#prerequisites)
     6  - [Creating DualStack Networks for the cluster](#creating-dualstack-networks-for-the-cluster)
     7  - [Creating DualStack API and Ingress VIPs Ports for the cluster](#creating-dualstack-api-and-ingress-vips-for-the-cluster)
     8  - [Deploy OpenShift](#deploy-openshift)
     9  
    10  ## Prerequisites
    11  
    12  * Installation with dual-stack is only allowed when using one OpenStack network with one IPv4 and IPv6 subnet.
    13  * API and Ingress VIPs ports needs to pre-created by the user and the addresses specified in the `install-config.yaml`.
    14  * Add the IPv6 Subnet to a neutron router to provide router advertisements.
    15  * The dualstack network MTU must accomodate the minimun MTU for IPv6, which is 1280, and OVN-Kubernetes encapsulation overhead, which is 100.
    16  
    17  Additional prerequisites are listed at the [OpenStack Platform Customization docs](./customization.md)
    18  
    19  **Note**: Converting a IPv4 single-stack cluster to a dual-network cluster network is not supported by OpenStack.
    20  
    21  ## Creating Dual-Stack Networks for the cluster
    22  
    23  You must create one network and add one IPv4 subnet and another IPv6 subnet with either slaac, stateless or stateful modes. Here is an example:
    24  
    25  ```sh
    26  $ openstack network create --project <project-name> --share --external --provider-physical-network <physical-network> --provider-network-type flat dualstack
    27  $ openstack subnet create --project <project-name> subnet-v4 --subnet-range 192.168.25.0/24 --dhcp --dns-nameserver <nameserver> --network dualstack
    28  $ openstack subnet create --project <project-name> subnet-v6 --subnet-range fd2e:6f44:5dd8:c956::/64 --dhcp  --network dualstack --ip-version 6 --ipv6-ra-mode slaac --ipv6-address-mode slaac
    29  ```
    30  
    31  Given the above example uses a provider network, this network can be added to the router external gateway to enable external connectivity and router advertisements with the following command:
    32  ```sh
    33  $ openstack router set --external-gateway dualstack <router-id>
    34  ```
    35  
    36  ## Creating Dual-Stack API and Ingress VIPs Ports for the cluster
    37  
    38  You must create the API and Ingress VIPs Ports with the following commands:
    39  
    40  ```sh
    41  $ openstack port create api --network dualstack
    42  $ openstack port create ingress --network dualstack
    43  ```
    44  
    45  ## Deploy OpenShift
    46  
    47  Now that the Networking resources are pre-created you can deploy OpenShift. Here is an example of `install-config.yaml`:
    48  
    49  ```yaml
    50  apiVersion: v1
    51  baseDomain: mydomain.test
    52  compute:
    53  - name: worker
    54    platform:
    55      openstack:
    56        type: m1.xlarge
    57    replicas: 3
    58  controlPlane:
    59    name: master
    60    platform:
    61      openstack:
    62        type: m1.xlarge
    63    replicas: 3
    64  metadata:
    65    name: mycluster
    66  networking:
    67    machineNetwork:
    68    - cidr: "192.168.25.0/24"
    69    - cidr: "fd2e:6f44:5dd8:c956::/64"
    70    clusterNetwork:
    71    - cidr: 10.128.0.0/14
    72      hostPrefix: 23
    73    - cidr: fd01::/48
    74      hostPrefix: 64
    75    serviceNetwork:
    76    - 172.30.0.0/16
    77    - fd02::/112
    78  platform:
    79    openstack:
    80      ingressVIPs: ['192.168.25.79', 'fd2e:6f44:5dd8:c956:f816:3eff:fef1:1bad']
    81      apiVIPs: ['192.168.25.199', 'fd2e:6f44:5dd8:c956:f816:3eff:fe78:cf36']
    82      controlPlanePort:
    83        fixedIPs:
    84        - subnet:
    85            name: subnet-v4
    86        - subnet:
    87            name: subnet-v6
    88        network:
    89          name: dualstack
    90  
    91  ```
    92  There are important things to note:
    93  
    94  The subnets under `platform.openstack.controlPlanePort.fixedIPs` can contain both id or name. The same applies to the network `platform.openstack.controlPlanePort.network`.