L03 — Workloads
Workloads are the kinds of things you put in a cluster. Each kind is a controller pattern with a specific reconciliation strategy. Master the layered model — Pod is the unit, everything else manages Pods.
What you’ll understand after this level
- A Pod is a unit of scheduling (1+ containers, shared network, shared volumes) — not a unit of deployment
- The layered controllers: Deployment → ReplicaSet → Pod
- When to use Deployment (stateless), StatefulSet (stable identity, ordered), DaemonSet (one per node), Job/CronJob (run-to-completion)
- The static pod pattern (kubelet-managed, bypasses the API)
- How probes (liveness / readiness / startup) keep traffic healthy
- Init containers for setup and gating
- Multi-container patterns — sidecar, ambassador, adapter
Notes in this level
| Note | Status | What’s in it |
|---|---|---|
| Pods | ✅ | The unit of scheduling — networking, lifecycle, init/multi-container, probes, resources, security context, QoS, static pods |
| ReplicaSet | ✅ | Reconciler model, selector system, pod adoption, Deployment relationship, when to use a bare RS |
| Deployments | ✅ | Deployment → ReplicaSet → Pod layering, rollout strategies, rollbacks, pause/resume, progress deadline |
| StatefulSets | ✅ | Stable network IDs, ordered scaling, persistent storage per replica, update strategies, when to use |
| DaemonSet | ✅ | One Pod per (selected) node — node selection, taints/tolerations, update strategies, resource budgets |
| Job | ✅ | Run-to-completion, completions/parallelism/backoffLimit, completion modes (Indexed/NonIndexed), patterns |
| CronJob | ✅ | Cron syntax, time zones, concurrency policies, startingDeadlineSeconds, suspend/resume, vs Argo/Airflow |
| Init Containers | ✅ | Sequential setup, patterns (wait, migrate, fetch), resource interaction, native sidecars (k8s 1.29+) |
| Multi-Container Pods | ✅ | Sidecar / ambassador / adapter patterns, inter-container communication, lifecycle ordering, when NOT to use |
| Probes | ✅ | Liveness / readiness / startup deep-dive, handlers, tunables, the “no external deps” rule, anti-patterns |
| Static Pods | ✅ | Kubelet-managed Pods, control plane pattern, use cases |
Suggested reading order
- Pods — what a Pod actually is, before any controller
- Probes — short, foundational, will keep coming up
- Deployments — the default for any stateless service
- ReplicaSet — what a Deployment manages under the hood
- StatefulSets — when stable identity matters (databases, queues)
- Multi-Container Pods + Init Containers — patterns for the Pod manifest
- DaemonSet — when you need one per node
- Job → CronJob — batch + scheduled workloads
- Static Pods — niche but illuminating (this is how control-plane components run)
Where to go next
→ L04 — Services & Networking: once you have Pods running, you need a way to reach them.