kind Kubernetes in Docker
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
kind create cluster
kubectl cluster-info --context kind-kind
kind get clusters
kind load docker-image <image>
kind create cluster --config <file>
kind export logs <dir>
kind get kubeconfig
kind delete cluster
Concepts
Clusters
kind create cluster
kind create cluster --name <name>
kind get clusters
kind delete cluster
kind delete cluster --name <name>
kind create cluster --image kindest/node:<tag>
kind create cluster --wait 5m
kind get nodes --name <name>
kind delete clusters --all
kind versionConfig file
kind create cluster --config <file>
nodes: [{role: control-plane}, {role: worker}]
extraPortMappings: [{containerPort, hostPort}]
image: kindest/node:<tag>@sha256:<digest>
featureGates: {<Gate>: true}
Images
kind load docker-image <image>
kind load docker-image <image> --name
<name>
kind load image-archive <file.tar>
docker exec -it <name>-control-plane crictl
images
kind build node-image
Kubeconfig
kubectl cluster-info --context kind-<name>
kubectl config use-context kind-<name>
kind get kubeconfig --name <name>
kind export kubeconfig --name <name>
kind create cluster --kubeconfig <file>
Debugging
kind export logs <dir>
docker exec -it <name>-control-plane bash
docker ps --filter name=<name>
KIND_EXPERIMENTAL_PROVIDER=podman kind create cluster
kind create cluster -v 5
Recipes
cat <<EOF > kind.yamlkind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-plane extraPortMappings: - {containerPort: 80, hostPort: 80} - {containerPort: 443, hostPort: 443}- role: worker- role: workerEOFkind create cluster --name dev --config kind.yaml
docker build -t myapp:dev .kind load docker-image myapp:dev --name devkubectl create deployment myapp --image=myapp:dev# set imagePullPolicy: IfNotPresent so it is not pulled
kind create cluster --name ci --wait 5mkubectl --context kind-ci get nodes# run tests ...kind export logs ./logs --name cikind delete cluster --name ci



