Curious Pandas

Run the real platform

Everything you practised in the browser, on a real Kubernetes cluster on your own laptop. What you need, how long it takes, and how to break it and get it back.

20 min+50 XP for finishing

The simulators taught you the shapes: self-healing, Pending pods, exit 137, quota refusals, stuck rollouts, empty dashboards. TemplateMechanics/tilt is the same things for real: a complete Kubernetes platform that runs on your own laptop, rebuilt from nothing with one command, with ten graded labs.

It’s free and MIT licensed, and it needs no cloud account. It does need a capable machine, which is why everything before this lesson ran in your browser.

What you need

From the platform’s own setup guide, measured rather than guessed:

  • About 15 GB of free disk and 8 GB of RAM to spare. With everything running (the heaviest profile, 50 pods) it measured 9.7 GB of images and 5.9 GB of memory. The default profile uses less; that hasn’t been measured separately.
  • Admin rights to install a container runtime. Docker Desktop is the tested default; Podman also works.
  • The tools: kind, Tilt, Helm, the Flux CLI, kubectl, Python 3 with PyYAML, and OpenSSL. The README’s prerequisites table has the versions.
  • bash. On Windows that means Git Bash, which comes with Git for Windows. The scripts don’t run in PowerShell or cmd.

Not sure? Check what this device can run.

Bring it up

git clone https://github.com/TemplateMechanics/tilt
cd tilt
./scripts/platform.sh up

The first run downloads several gigabytes. Measured on a fast laptop with a fast connection, https://hello.localhost answered 8.5 minutes after Tilt started. Almost all of that is downloading, so your wifi sets the number, not your CPU. Do it at home, not on conference wifi. Partway through, your OS may ask you to trust a certificate called “Tilt Local Development Root CA”. Compare the fingerprint Tilt prints before you accept.

Then prove it, rather than assuming:

./scripts/student-check.sh     # tools, daemon, disk, version skew, and a real request

“It finished with no errors” and “it works” are different claims. That script tells them apart.

Profiles: start small

The platform comes up in tiers. minimal is the default:

Profile Adds Good for
minimal Flux, Gateway API, Istio ambient, cert-manager, hello-world the Kubernetes track; about 10 min
observability + Prometheus, Grafana, Loki, Tempo, Kiali, metrics-server the dashboard and mesh lessons
gitops + Crossplane, Flagger, External Secrets, CloudNativePG canaries and GitOps
full + every app you can toggle in tilt-config.json the whole tool atlas
PROFILE=observability ./scripts/platform.sh up

URLs: https://hello.localhost, https://grafana.localhost, https://kiali.localhost, and the Tilt dashboard at http://localhost:10350. If something else on your machine already uses ports 443 and 80, the README has an alternate config that moves everything to :8443.

Break it, then get it back

./scripts/platform.sh lab 09    # grade a lab
./scripts/platform.sh reset     # destroy the cluster, start empty

Breaking things is how the platform is meant to be used. reset makes that safe, but it isn’t free: it re-downloads everything. Each lab’s README has a cheaper way back.

Check yourself+10 XP

On Windows, which shell runs ./scripts/platform.sh?

Check yourself+10 XP

platform.sh up finished with no errors. Are you done?

Do it for real · your machine+50 XP bonus

Everything above ran in your browser. Now do it on a real cluster with tilt lab 01-deploy-a-service (profile minimal). You need Docker, kind and Tilt, about 15 GB of free disk and 8 GB of spare RAM. Setup guide · Can my machine run it?

Bring the platform up, run ./scripts/student-check.sh, open https://hello.localhost, then pass lab 01:

./scripts/platform.sh hello
./scripts/platform.sh lab 01
Self-reported. We can't see your machine, and we don't want to. This is a bonus, never required.

Sources

Finished reading?

Missions and quizzes above earn their own XP. This marks the lesson done.