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]>
45 lines
2.2 KiB
Markdown
45 lines
2.2 KiB
Markdown
# 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.
|