How to setup a k8s cluster with only ipv6?

how to setup a k8s cluster with only ipv6? Using kubeadm init fails when controlPlaneEndpoint configured IPv6 address, configration file kubeadm-config-ipv6.yaml following as:

kind: ClusterConfiguration
kubernetesVersion: v1.25.11
controlPlaneEndpoint: [fd00:0:0:1003::100]:6443
  podSubnet: 2001:db8:42:0::/56
  serviceSubnet: 2001:db8:42:1::/112
kind: InitConfiguration
  advertiseAddress: "fd00:0:0:1003::1004"
  bindPort: 6443
    node-ip: fd00:0:0:1003::1004
kind: KubeletConfiguration
cgroupDriver: systemd

Setting up a Kubernetes (k8s) cluster with only IPv6 involves using kubeadm with a specific configuration tailored for IPv6 networking. Here’s a concise guide:

  1. Prepare your configuration: Ensure your kubeadm-config-ipv6.yaml file specifies the IPv6 addresses for controlPlaneEndpoint, podSubnet, serviceSubnet, and advertiseAddress. The configuration you provided looks appropriate for an IPv6 setup.
  2. Apply the configuration: Initialize the cluster with the command kubeadm init --config kubeadm-config-ipv6.yaml. This will use your IPv6 configurations for setting up the control plane and other components.
  3. Troubleshoot: If kubeadm init fails, check for error messages in the output. Common issues may involve misconfigurations in the YAML file, networking restrictions, or IPv6 support on your network and nodes.

Ensure that your network infrastructure and all nodes in the cluster fully support IPv6.

1 Like

Maybe controlPlaneEndpoint only support IPv4 ?