Don't start the build chapters until this k8s smoke test passes
Chapter 4 of a local-Kubernetes series: install Docker, kubectl, k3d, helm, and Tilt across macOS / Linux / Windows+WSL2, add k9s, and — the part most guides skip — prove the whole toolchain works together before you rely on it.
Key takeaways
- One hard requirement: k3d needs Docker 20.10.5+ (runc ≥ v1.0.0-rc93). Everything else is host resources: 8 GB RAM comfortable (Docker Desktop for Windows requires 8 GB), 10–20 GB free disk, hardware virtualization mandatory.
-
Install bottom-up: Docker first, then kubectl, k3d, helm, Tilt last (Tilt needs Docker + kubectl + a working cluster to already exist). On macOS:
brew install kubectl helm k3d tilt. -
Windows: do all dev work inside WSL2. Keep the repo in the WSL2 filesystem, not
C:\...— Windows-filesystem sources are slow over WSL2 and break Tilt's file sync. - The smoke test that actually matters:
k3d cluster create dev
k3d kubeconfig merge dev --kubeconfig-switch-context
kubectl get pods -A # expect coredns, traefik, metrics-server... all Running
k3d cluster delete dev
-
Classic gotchas, fixed: Docker daemon not running (
connection refused);too many open files(raisefs.inotify.max_user_watches/max_user_instances, see k3d issue #803); Linuxpermission deniedon docker.sock (usermod -aG docker $USER, re-login); virtualization disabled in BIOS; too little RAM → OOM.
The cluster is named dev on purpose — the next chapter reuses that name for the real myapp cluster.
Top comments (0)