Local Kubernetes is a fucking nightmare. Minikube eats your RAM, Docker Desktop's "Kubernetes" is a joke, and VMs are slow as hell. kind runs real Kubernetes clusters using Docker containers as nodes - it's the least painful way to test multi-node setups locally.
How It Actually Works
kind cheats by running each Kubernetes "node" as a Docker container with systemd inside. Sounds hacky? It is. Does it work? Usually.
- Each "node" is a fat Docker container with systemd, kubelet, and all the Kubernetes bits
- Uses kubeadm to bootstrap each container like a real node
- Your Docker daemon becomes your "datacenter" - multiple containers = multiple nodes
- kubectl talks to it like any real cluster
When kind Doesn't Suck
Multi-node testing: Unlike Docker Desktop, you can actually test pod scheduling, network policies, and node failures. Critical for anything beyond hello-world demos.
CI/CD pipelines: Starts faster than minikube (usually 30-60 seconds if Docker isn't being an asshole). GitHub Actions, GitLab CI, and Jenkins love it.
Resource efficiency: Uses about 500MB RAM idle on my machine. Compare that to minikube's 2GB+ hunger or VMware Fusion eating your CPU.
When It Breaks
Docker daemon shitting itself will kill your clusters. WSL2 networking is pure chaos on Windows. Port conflicts if you're already running shit on 80/443. The known issues list is longer than your arm.
Current Reality Check
As of August 2025, we're at version 0.30.0. Still not 1.0 after years, but stable enough that major projects use it in CI. The SIG-Testing folks keep it alive, mostly @BenTheElder and @aojea fixing the shit that breaks.
Bottom line: kind works when you need real Kubernetes locally without the VM overhead. Just don't expect miracles when Docker decides to have a bad day.