kind – Kubernetes in Docker
kind (Kubernetes in Docker) startet Kubernetes-Nodes als Docker-Container. Gut geeignet für lokale Entwicklung und Tests.
Installation
Linux:
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.31.0/kind-linux-amd64
chmod +x ./kind
mv ./kind /usr/local/bin/
Windows (PowerShell):
curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.31.0/kind-windows-amd64
Move-Item .\kind-windows-amd64.exe C:\some-dir-in-your-PATH\kind.exe
Cluster erstellen
kind create cluster
docker container ls # Nodes laufen als Docker-Container
Die kubeconfig wird automatisch unter ~/.kube/config gespeichert.
Multi-Node Cluster
kind-cluster-config.yaml:
# three node (two workers) cluster config
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
kind create cluster --config ~/kubernetes-tutorial/src/kind/kind-cluster-config.yaml
docker container ls --format "table \t\t"
Der Port 6443 des Control-Plane-Containers wird auf den Host weitergeleitet:
cat ~/.kube/config | yq .clusters[].cluster.server
Cluster löschen
kind delete cluster
Hinweis
kind ist nicht für den produktiven Einsatz geeignet.