The smallest deployable unit in Kubernetes, one or more containers sharing a network namespace and lifecycle.
A pod is the smallest deployable unit in Kubernetes, a set of one or more containers that share a network namespace, storage volumes, and lifecycle. Pods are ephemeral: they get scheduled onto nodes, run, and may be evicted, restarted, or rescheduled at any time. Higher-level controllers (Deployments, StatefulSets, DaemonSets, Jobs) manage groups of pods. Most application containers run as single-container pods; multi-container pods are reserved for tightly-coupled patterns like sidecars (logging, service mesh proxy).
Treating pods as ephemeral, replaceable, and identical is the core mental model that makes Kubernetes work. Teams that treat them as long-lived (writing local state, hand-naming them, hand-tuning their resources) fight the platform constantly. The flip side: every well-designed Kubernetes service expects pods to die, often, and recovers without human help.
See the part of the platform that handles pod (kubernetes pod) in production.