Files
ced4568andClaude Sonnet 5 25409d3bd7 feat(root): author Kubernetes foundations curriculum
root-05-m00-kubernetes-mental-model — a new, full gold-standard-pattern
front-door module for ROOT 05: what Kubernetes solves, the desired-state
model, the control-plane/worker split, and Pods/Namespaces/labels
through kubectl. Lesson, demonstration (watching a Pod get replaced
after manual deletion), knowledge check, guided exercise (planning a
Namespace layout), a real Lab (namespaces-basics), and a reflection —
sequenced ahead of the existing bare kubectl-fluency lab bank.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-26 09:05:40 -05:00

2.2 KiB

Launch Lab: Working with Namespaces

Time to apply the mental model for real — you'll create an actual isolated Namespace and deploy into it, in your own disposable Lab environment.

What you're doing

You'll create a Namespace (team-alpha) and deploy an application into it with a specific replica count — directly applying the "isolated area within one cluster" idea from the guided exercise, and the desired-state model from the lesson (once you declare replicas: 2, that becomes the standing desired state for that Deployment, enforced continuously).

Before you start

Think back to the demonstration: once your Deployment exists with its desired replica count, Kubernetes will keep it there on its own. You don't need to "check back" and manually fix anything — if you want to prove this to yourself, try deleting one of your Pods after you've finished the task and watch what happens.

Your task in this Lab

Create the Namespace, then deploy the application inside it with the exact replica count specified. Use kubectl get namespace and kubectl get deployment -n <namespace> to confirm your work — the same verification pattern you'll use constantly throughout ROOT_.

This Lab has its own in-context hints if you get stuck. Try working from the lesson and guided exercise first — the commands you need are exactly the ones described there.

When you're done, return to this module to close out with a reflection on why this isolation matters beyond just "keeping things organized."

Instructor Notes

Classroom flow: This is most students' first real kubectl apply/create in ROOT_ beyond whatever pilot exposure they've had — a good moment to circulate and check that basic kubectl command syntax isn't the blocker (as opposed to the Namespace concept itself, which the guided exercise should have already addressed).

Approximate timing: 10-15 minutes.

Common mistake to watch for: creating the Deployment in the DEFAULT namespace instead of team-alpha (forgetting -n team-alpha or the namespace field in the manifest) — this is a very common first mistake and a good real-world illustration of why Namespace isolation only works if you're actually specifying it every time.