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:
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: v1.25.11
controlPlaneEndpoint: [fd00:0:0:1003::100]:6443
networking:
podSubnet: 2001:db8:42:0::/56
serviceSubnet: 2001:db8:42:1::/112
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: "fd00:0:0:1003::1004"
bindPort: 6443
nodeRegistration:
kubeletExtraArgs:
node-ip: fd00:0:0:1003::1004
---
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
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:
- 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.
- 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.
- 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 ?