github.com/openshift/installer@v1.4.17/docs/user/openstack/connect_nodes_to_ipv6_network.md (about) 1 # Connecting worker nodes and pods to an IPv6 network 2 3 To connect your workers at the time of installation you can use [additionalNetworkIDs](https://github.com/openshift/installer/blob/master/docs/user/openstack/customization.md#additional-networks) parameter in the install config and set IPv6 network ID there: 4 5 Example OpenShift install config: 6 7 ```yaml 8 ... 9 compute: 10 - name: worker 11 platform: 12 openstack: 13 additionalNetworkIDs: 14 - <ipv6_network_id> 15 ... 16 ``` 17 18 > **Note** 19 > To use Stateful IPv6 Networks, the arg `ip=dhcp,dhcp6` needs to be included in the kernel args of the Worker nodes, 20 > otherwise the Nodes won't get an IPv6 address due to a [bug][dhcpv6-bug]. 21 > Use the [procedure][add-kernel-args] to add kernel argument to the Nodes. 22 23 ## Enable connectivity to the pods 24 25 To enable connectivity between pods with additional Network on different Nodes, the Port security needs to be disabled for the IPv6 Port of the Server. This way it's possible to avoid adding an allowed-address-pairs with an IP and MAC address in the Server's IPv6 Port whenever a new pod gets created. 26 27 ```sh 28 openstack port set --no-security-group --disable-port-security <worker-ipv6-port> 29 ``` 30 31 ## Add IPv6 connectivity to pods 32 33 Create a file named `network.yaml` and specify [the desired CNI config][configuring-an-additional-network]. Here is an example of CNI config used for slaac address mode with macvlan: 34 35 ```yaml 36 spec: 37 additionalNetworks: 38 - name: ipv6 39 namespace: ipv6 40 rawCNIConfig: '{ "cniVersion": "0.3.1", "name": "ipv6", "type": "macvlan", "master": "ens4"}' 41 type: Raw 42 ``` 43 44 The node's interface specified in the Network attachment `master` field may differ from `ens4` when more additional networks are configured or when a different Kernel driver is used. 45 46 > **Note** 47 > When using Stateful address mode, specify the `ipam` section in the CNI config, 48 > otherwise no address is configured in the additional interface of the pod. 49 > Also, note that DHCPv6 is not yet supported by [Multus][dhcpv6-multus]. 50 51 then run: 52 53 ```sh 54 oc patch network.operator cluster --patch "$(cat network.yaml)" --type=merge 55 ``` 56 57 It takes a while for the network definition to be enforced. 58 You can check with the following command: 59 60 ```sh 61 oc get network-attachment-definitions -A 62 ``` 63 64 ## Create pods with IPv6 network 65 66 To create pods with IPv6 network make sure to create them on the same Namespace specified in the `additionalNetworks` 67 and specify the following annotation `k8s.v1.cni.cncf.io/networks: <additional-network-name>`. 68 69 [dhcpv6-bug]: https://issues.redhat.com/browse/OCPBUGS-2104 70 [add-kernel-args]: https://docs.openshift.com/container-platform/4.11/nodes/nodes/nodes-nodes-managing.html#nodes-nodes-kernel-arguments_nodes-nodes-managing 71 [configuring-an-additional-network]: https://docs.openshift.com/container-platform/4.11/networking/multiple_networks/configuring-additional-network.html#configuring-additional-network_approaches-managing-additional-network 72 [dhcpv6-multus]: https://issues.redhat.com/browse/SDN-2844