| Pod |
Smallest unit, runs containers |
Rarely directly — use Deployments |
| ReplicaSet |
Ensures N pod replicas are running |
Almost never directly — Deployments manage these |
| Deployment |
Manages ReplicaSets, handles rolling updates and rollbacks |
Default choice for stateless apps |
| StatefulSet |
Like Deployment but with stable identities and ordered startup |
Databases, anything stateful (Postgres, Kafka, etc.) |
| DaemonSet |
Runs one pod per node |
Logging agents, monitoring agents, CNI plugins |
| Job |
Runs pods to completion (one-off task) |
Batch jobs, migrations |
| CronJob |
Job on a schedule |
Periodic batch work |