This instruction set:
- represents the 1st installment of a two-part series (Part 2 here)
- assumes Docker Engine on macOS with the latest KinD client installed (0.20.0 -> k8s v1.27.3)
- aligns with Cilium's Getting Started documentation
- covers Cilium's ability to replace the kindnet CNI
- does not cover Cilium's ability to replace kube-proxy, as detailed in this blog
k8s_name=cilium-cni-$(date +"%y%m%d%H%M")
cat <<EOF | kind create cluster --config -
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: ${k8s_name}
nodes:
- role: control-plane
- role: worker
- role: worker
networking:
disableDefaultCNI: true # do not install kindnet
EOF
The effect of disabling the default CNI is that kindnet
will not run and some pods (e.g. CoreDNS) will remain in a pending state.
kubectl -n kube-system get pods