ScriptsApr 15, 2026·3 min read

kind — Run Local Kubernetes Clusters in Docker

Spin up full multi-node Kubernetes clusters inside Docker containers in seconds. kind is SIG Testing's tool — the same way Kubernetes itself runs conformance tests.

TL;DR
kind creates local Kubernetes clusters using Docker containers as nodes, ideal for testing and CI/CD pipelines.
§01

What it is

kind (Kubernetes IN Docker) is a tool for running local Kubernetes clusters where each cluster node is a Docker container. It was originally designed for testing Kubernetes itself but has become a standard tool for local Kubernetes development, CI/CD pipelines, and integration testing. kind is a CNCF project maintained by the Kubernetes SIG.

kind is for developers and DevOps engineers who need ephemeral Kubernetes clusters for testing. If you want to test Helm charts, Kubernetes operators, or multi-node cluster behavior without cloud costs, kind provides clusters in seconds.

§02

How it saves time or tokens

kind creates a fully functional Kubernetes cluster in under a minute using only Docker. No VM provisioning, no cloud API calls, no waiting for node boots. Multi-node clusters (control plane plus workers) are defined in a simple YAML config. Clusters are disposable -- create for a test, delete when done. For CI/CD, kind runs inside any environment that has Docker, making Kubernetes testing portable across CI providers.

§03

How to use

  1. Install kind: brew install kind (macOS) or go install sigs.k8s.io/kind@latest.
  2. Create a cluster: kind create cluster.
  3. Use kubectl as normal: kubectl get nodes.
§04

Example

# Install kind
brew install kind

# Create a simple cluster
kind create cluster --name my-test

# Create a multi-node cluster with config
cat <<EOF | kind create cluster --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
EOF

# Load local Docker images into the cluster
kind load docker-image my-app:latest --name my-test

# Use kubectl
kubectl get nodes
kubectl apply -f deployment.yaml

# Delete when done
kind delete cluster --name my-test
§05

Related on TokRepo

§06

Common pitfalls

  • Trying to use kind for production workloads. kind is designed for testing and development. It runs on a single machine and lacks the reliability features needed for production Kubernetes.
  • Not loading local images into the cluster. kind nodes are Docker containers with their own image cache. Use kind load docker-image to make local images available inside the cluster.
  • Running out of Docker resources with large clusters. Each kind node is a Docker container consuming CPU and memory. Limit node count and resource requests for local development.

Frequently Asked Questions

How does kind compare to Minikube?+

kind uses Docker containers as nodes while Minikube uses a VM. kind is faster to create and destroy, supports multi-node clusters easily, and works better in CI/CD. Minikube provides more features like addon management, GPU passthrough, and built-in dashboard.

Can I test multi-node Kubernetes setups?+

Yes. kind supports multi-node clusters with separate control-plane and worker nodes. Define the node layout in a YAML config file and kind creates all nodes as Docker containers on your machine.

Does kind work in CI/CD pipelines?+

Yes. kind is commonly used in GitHub Actions, GitLab CI, and Jenkins for Kubernetes integration testing. It only requires Docker, which is available in most CI environments. Clusters create in seconds and clean up automatically.

What Kubernetes versions does kind support?+

kind supports multiple Kubernetes versions through pre-built node images. You specify the version with --image flag when creating a cluster. This lets you test your applications against different Kubernetes releases.

Can I use kind with Helm?+

Yes. A kind cluster is a standard Kubernetes cluster accessible via kubectl. Helm, Kustomize, Skaffold, and other Kubernetes tools work without modification once the cluster is created and your kubeconfig is set.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets