--- id: act-02-working-with-pods-lab title: "Unit 02 — Working with Pods" mode: lab open_at: "2026-02-01T00:00:00+01:00" close_at: "2026-12-31T23:59:59+01:00" retakes_enabled: true max_attempts: 999 grade_max: 100 --- # Unit 02 — Working with Pods ## T1 Type: essay Points: 10 Prompt: Explain why Pods are called “the atomic unit of scheduling” and why we typically avoid deploying Pods directly (mention what Controllers provide). Refs: - mat-03-working-with-pods#previously - mat-03-working-with-pods#static-pods-vs-controllers Rubric: - Correctly explains “atomic unit of scheduling” (4) - Explains why direct Pods are limited and what Controllers add (6) ## T2 Type: essay Points: 15 Prompt: List at least 6 examples of “pod augmentation data” and explain (one sentence each) why they are useful. Refs: - mat-03-working-with-pods#pod-augmentation-data - mat-03-working-with-pods#some-pod-features-why-they-matter Rubric: - ≥6 correct items listed (9) - Each item has a correct purpose statement (6) ## T3 Type: essay Points: 10 Prompt: Describe the high-level process of deploying a Pod from manifest to running state (use numbered steps). Refs: - mat-03-working-with-pods#deploying-pods-high-level Rubric: - Includes manifest creation + posting to API (3) - Includes API authz/validation and scheduling (4) - Includes kubelet monitoring/execution (3) ## T4 Type: essay Points: 15 Prompt: Explain how networking works for single-container vs multi-container Pods, including how containers communicate inside the same Pod. Refs: - mat-04-pod-networking-lifecycle-and-patterns#pods-and-shared-networking Rubric: - Correctly states shared IP/ports/routing in multi-container pods (7) - Correctly explains localhost communication within a pod (8) ## T5 Type: essay Points: 10 Prompt: Summarize the Pod lifecycle phases and provide guidance on restartPolicy values for short-lived vs long-lived apps. Refs: - mat-04-pod-networking-lifecycle-and-patterns#pod-lifecycle - mat-04-pod-networking-lifecycle-and-patterns#pod-restart-policy Rubric: - Lifecycle phases described correctly (5) - Restart policy guidance correct (5) ## T6 Type: essay Points: 10 Prompt: Define Pod immutability and explain what you should do when you need to change a Pod’s metadata. Refs: - mat-04-pod-networking-lifecycle-and-patterns#pod-immutability Rubric: - Correctly defines immutability (5) - Correctly states “create a new Pod” approach (5) ## T7 Type: essay Points: 10 Prompt: Describe at least two multi-container patterns (sidecar and init container) and give one realistic use case for each. Refs: - mat-04-pod-networking-lifecycle-and-patterns#multi-container-pod-patterns Rubric: - Correct pattern definitions (6) - Appropriate use cases (4) ## T8 Type: file Points: 20 Prompt: Create a lab write-up in @solutions/unit02-lab.md that includes: (1) creating a fresh k3d cluster (1 server + 1 agent), (2) deploying a Pod using a manifest, (3) verifying with kubectl get/watch, (4) inspecting with -o wide and -o yaml, (5) using kubectl describe, logs, and exec, and (6) cleaning up the cluster. Refs: - mat-05-kubectl-for-pods#apply-a-manifest - mat-05-kubectl-for-pods#inspect-pods-with-kubectl-get - mat-05-kubectl-for-pods#kubectl-describe - mat-05-kubectl-for-pods#kubectl-logs - mat-05-kubectl-for-pods#kubectl-exec Rubric: - Shows correct kubectl apply/get/watch usage (6) - Includes -o wide and -o yaml output snippets (5) - Includes describe + logs + exec evidence (6) - Includes cluster delete and brief reflection (3) ## T9 Type: file Points: 10 Prompt: Homework: Create an nginx image with static content, upload it to DockerHub, write a Pod manifest that uses it, deploy it to your cluster, and watch it being deployed. Submit a short report in @solutions/unit02-homework.md describing commands used and evidence (screenshots or pasted outputs). Refs: - mat-03-working-with-pods#deploying-pods-high-level - mat-05-kubectl-for-pods#apply-a-manifest Rubric: - Describes image build and push steps (4) - Pod manifest described correctly (3) - Deployment + watch evidence included (3)