0
0
Kubernetesdevops~10 mins

Why Pods are the smallest deployable unit in Kubernetes - Visual Breakdown

Choose your learning style9 modes available
Process Flow - Why Pods are the smallest deployable unit
User defines containers
Containers grouped into Pod
Pod created as single unit
Pod scheduled on Node
Pod runs containers together
Pod managed as one deployable unit
Containers are grouped into a Pod, which is created, scheduled, and managed as a single unit in Kubernetes.
Execution Sample
Kubernetes
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: app-container
    image: nginx
This YAML defines a Pod with one container running the nginx image.
Process Table
StepActionResultSystem State
1User writes Pod YAML with containersPod spec readyPod spec includes 1 container
2kubectl apply Pod YAMLPod object createdPod object stored in Kubernetes API
3Scheduler assigns Pod to NodePod scheduledPod assigned to specific Node
4Kubelet on Node starts containersContainers runningContainers inside Pod running on Node
5Pod runs as single unitPod activePod and containers managed together
6User updates Pod specPod updatedPod replaced or restarted as one unit
7Pod deletedAll containers stoppedPod and containers removed together
💡 Pod lifecycle ends when Pod is deleted, stopping all containers together
Status Tracker
VariableStartAfter Step 2After Step 3After Step 4After Step 7
Pod ObjectNoneCreatedScheduledRunningDeleted
ContainersNoneDefined in PodPending startRunningStopped
Key Moments - 3 Insights
Why can't we deploy containers individually without a Pod?
Containers need a Pod because Kubernetes manages Pods as the smallest deployable unit, grouping containers that share resources and lifecycle. See execution_table steps 1-5.
What happens to containers when the Pod is deleted?
All containers inside the Pod stop together because the Pod is the unit Kubernetes manages. See execution_table step 7.
Why does Kubernetes schedule Pods, not individual containers?
Scheduling Pods ensures containers that belong together run on the same Node with shared resources. See execution_table step 3.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, at which step are containers actually started on the Node?
AStep 2
BStep 3
CStep 4
DStep 5
💡 Hint
Check the 'Action' and 'Result' columns for when containers begin running.
According to the variable tracker, what is the state of the Pod Object after Step 3?
ACreated
BScheduled
CRunning
DDeleted
💡 Hint
Look at the 'Pod Object' row and the 'After Step 3' column.
If the Pod is deleted at Step 7, what happens to the containers?
AThey stop together with the Pod
BThey restart automatically
CThey keep running independently
DThey move to another Node
💡 Hint
Refer to execution_table step 7 and variable_tracker containers state.
Concept Snapshot
Pods group one or more containers into a single deployable unit.
Kubernetes schedules and manages Pods, not individual containers.
Containers in a Pod share resources and lifecycle.
Deleting a Pod stops all its containers together.
Pods ensure containers run on the same Node with shared context.
Full Transcript
In Kubernetes, containers are grouped into Pods, which are the smallest deployable units. A Pod is defined by a YAML spec listing its containers. When you apply this spec, Kubernetes creates a Pod object. The scheduler assigns the Pod to a Node, and the Node's kubelet starts the containers inside the Pod. All containers in a Pod share resources and lifecycle, so they start, run, and stop together. When you delete a Pod, all its containers stop at once. This grouping allows Kubernetes to manage related containers as one unit, ensuring they run on the same Node and share network and storage. This is why Pods are the smallest deployable unit in Kubernetes.