Lesson 3 · Core objects & the control plane
Pods — the atom
The smallest thing Kubernetes runs: one or more containers that live and die together.
Your win: explain what a Pod is, why it's the unit (not the container), what "shares a network and storage" means, and why Pods are ephemeral — the fact that motivates every controller in Lesson 4.
The unit isn't the container — it's the Pod
Kubernetes never schedules a bare container. It schedules a Pod: one or
more containers that are always placed on the same node and treated as a single
unit.1 Most Pods here hold exactly one app container
(your build/server from Course 1), but the Pod is still the wrapper.
localhost — and can share
storage volumes. That's the whole reason to co-locate containers in a Pod:
they're tightly coupled helpers (a sidecar next to the main app), not independent services.
Separate services go in separate Pods.
Pods are ephemeral — this is the point
A Pod is disposable. It has no self-healing of its own: if its node dies, the Pod is gone — it is not resurrected, moved, or rescheduled by itself.1 Its IP is temporary too. This sounds fragile, and on its own it is:
What's inside a Pod spec (the parts you'll meet)
- containers — the app image + its
command/args, ports, env, volume mounts, probes, resources (Lesson 8). - initContainers — run to completion before the app containers start; used for setup/waiting.
- volumes — storage made available to the containers (Lesson 6).
build/server image, the gserver
<svc> command, a secrets volume mount (:47-50), the
grpc_health_probe readiness/liveness probes (:76-142), and resources
(:145-146). And it's a real multi-container/init story:
_workload_init_container.tpl adds a
wait-for-dependencies initContainer and a {svc}-migrate
initContainer that runs gjob sql_migrate (:21-30) — the DB migration runs to
completion before your server container starts. That's the init-container pattern,
live in your stack.
Kubernetes docs — Pods
What a Pod is, why it's the unit, the shared network/storage model, and Pod lifecycle basics.
Check yourself (from memory)
Q1. The smallest deployable unit in Kubernetes is…
Q2. Containers in the same Pod share…
Q3. Its node dies, so a bare Pod (no controller)…
_workload_containers.tpl; a {svc}-migrate
initContainer runs migrations before the server starts.1. Kubernetes — Pods (unit, shared network/storage, ephemerality).