Frontend Labs
⋯

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 mise or asdf and a committed .tool-versions). "Works on my machine" bugs in Kubernetes are very often a kubectl/helm version skew. kubectl is supported within one minor version of the API server.


Generated from real-life-k8s-guide.md · 8 Oct 2026 16:36