devops/activities/02-working-with-pods-lab.md
2026-01-01 00:00:00 +00:00

115 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 Pods 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)