Prerequisites and tooling
You need a machine with 4+ CPU cores and 16 GB RAM for the full stack (8 GB works if you skip the observability stack until Part IV).
There are two ways to set up, and both are supported throughout:
- Path A (recommended): a Linux lab VM on your Mac. The Mac only
needs Lima (
brew install lima). Every tool below is installed inside an Ubuntu VM by a script. See §0 (Part 0) for the full setup and the milestone runbook for building the project. - Path B: native macOS. Install the tools directly with Homebrew, as below. Everything except §1.1 (which needs a Linux kernel) works. Differences are noted where they matter (e.g. reaching kind LoadBalancers, §43.1).
Path B tool install (macOS):
# macOS (Homebrew). Linux users: use your package manager or the upstream binaries.
brew install --cask docker # Docker Desktop (or: brew install colima docker docker-buildx)
brew install kubectl kind helm kustomize k9s stern kubectx jq yq
brew install trivy cosign # image scanning and signing
brew install k6 # load testing
brew install argocd # Argo CD CLI
brew install go # Go 1.25+
# sanity check
docker version && kubectl version --client && kind version && helm version
Best practice: pin tool versions per project (e.g. with
miseorasdfand a committed.tool-versions). "Works on my machine" bugs in Kubernetes are very often akubectl/helmversion skew.kubectlis supported within one minor version of the API server.