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.