Configure Kubernetes control plane to operate over IPv6

Big picture

If you have IPv6 connectivity between your nodes and workloads, you may also want to configure the Kubernetes control plane to operate over IPv6, instead of IPv4.

How to

To configure Kubernetes components for IPv6 only, set the following flags.

ComponentFlagValue/Content
kube-apiserver—bind-address or —insecure-bind-addressSet to the appropriate IPv6 address or :: for all IPv6 addresses on the host.
—advertise-addressSet to the IPv6 address that nodes should use to access the kube-apiserver.
kube-controller-manager—masterSet with the IPv6 address where the kube-apiserver can be accessed.
kube-scheduler—masterSet with the IPv6 address where the kube-apiserver can be accessed.
kubelet—addressSet to the appropriate IPv6 address or :: for all IPv6 addresses.
—cluster-dnsSet to the IPv6 address that will be used for the service DNS; this must be in the range used for —service-cluster-ip-range.
—node-ipSet to the IPv6 address of the node.
kube-proxy—bind-addressSet to the appropriate IPv6 address or :: for all IPv6 addresses on the host.
—masterSet with the IPv6 address where the kube-apiserver can be accessed.

For dual stack settings, see Enable IPv4/IPv6 dual-stack.