Files
ced4568andClaude Sonnet 5 73cea1ba1d feat(root): add storage and scheduling curriculum
Two new PARTIAL modules, moving ROOT 08 off PLANNED for the first time:

root-08-m01-storage-fundamentals — ephemeral vs. persistent storage,
PV/PVC/StorageClass. Lesson + knowledge check + real Labs (emptydir-pod,
pv-pvc-mount, pvc-dynamic-task, storageclass-mcq).

root-08-m02-scheduling-resource-governance — how the scheduler places
Pods and how quotas/limits/priority/disruption budgets shape that
placement. Lesson + knowledge check + real Labs (node-label-selector,
node-taint-toleration, pod-affinity-mcq, priority-class-task,
pod-disruption-budget-task, resource-quota-ns, limitrange-task).

cluster-upgrade-mcq and etcd-backup-mcq deliberately left unwired —
ROOT 11/DevOps territory, out of this phase's scope, not overlooked.

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

49 lines
2.2 KiB
Markdown

# Knowledge Check: Scheduling & Resource Governance
---
**1. A node is tainted `dedicated=gpu:NoSchedule`. A Pod with no matching toleration is
pending and never gets scheduled anywhere else, even though other untainted nodes have free
capacity. What's actually going on?**
*Answer:* Nothing is wrong — the taint only affects the tainted node specifically; it doesn't
explain why the Pod isn't landing elsewhere. If it's stuck pending entirely, the cause is
something else (insufficient resources cluster-wide, a nodeSelector/affinity rule that can't be
satisfied anywhere) — the taint itself only ever repels from the ONE node it's applied to.
---
**2. During a planned node drain for maintenance, would you expect a PodDisruptionBudget to
prevent an UNRELATED node from crashing unexpectedly at the same time?**
*Answer:* No. A PDB only constrains VOLUNTARY disruptions — operations Kubernetes/an operator
controls the timing of, like a drain. An unrelated hardware failure is involuntary and ignores
PDBs entirely; nothing is "asking permission" for a crash.
---
**3. True or false: a higher-priority pending Pod can cause a lower-priority, already-RUNNING
Pod to be evicted to make room.**
*Answer:* True — this is what Pod priority/preemption actually does under resource pressure,
not just a scheduling hint. Misconfigured priorities can have real, disruptive consequences for
this reason.
---
**4. A team notices new Pods in their Namespace keep getting created with no CPU/memory
requests at all, even though nobody set that intentionally. What governance mechanism would fix
this going forward, and what would it NOT fix?**
*Answer:* A LimitRange with default requests/limits would apply sensible defaults to future
Pods created without explicit values. It would NOT retroactively change Pods that already exist
— it only affects new Pod creation from the point it's added.
## Instructor Notes
**Facilitation:** Question 2 reinforces a genuinely important, often-missed distinction
(voluntary vs. involuntary disruption) — worth confirming it lands, not just that the answer was
guessed correctly.
**Approximate timing:** 5-7 minutes given the density of this module's lesson.