1.10 Kubernetes Pod Definition
A Kubernetes Pod is a group of containers that share storage, networking, and lifecycle, forming the basic unit of deployment in Kubernetes.
Kubernetes Pod Definition is the precise characterization of a Pod as the smallest unit of scheduling and deployment in Kubernetes, defined as a group of one or more containers that share a single network namespace, a single set of storage volumes, and a single lifecycle, distinguishing it from a container in isolation and from higher-level workload controllers that manage collections of Pods.
Pod as the Atomic Scheduling Unit
Not a Container, and Not a Group of Independent Containers
A Pod is defined as the smallest object the scheduler places onto a node; containers themselves are never scheduled independently, meaning even a workload consisting of a single container is still represented, scheduled, and tracked as a Pod containing that one container.
Shared Execution Context
What defines the boundary of a Pod is shared context: every container within it shares the same IP address, port space, and any declared volumes, while containers in different Pods do not share these by default, even if they happen to run on the same node.
Lifecycle as Part of the Definition
A Single Lifecycle for All Containers
A Pod's definition includes the notion of a single overall lifecycle: its phase reflects the aggregate state of its containers, and its restart policy governs how the platform responds to container exits, applying uniformly across every container the Pod contains rather than being configured per container.
Disposability
Central to the Pod definition is the expectation that Pods are disposable: a Pod is not intended to be a durable, repaired-in-place entity, but rather one that is replaced wholesale by a new Pod when it needs to change or recover from failure.
What a Pod Definition Does Not Include
Not a Guarantee of Persistence
A bare Pod, created without a managing controller, has no built-in mechanism ensuring it is recreated if deleted or if its node fails; persistence and self-healing are properties of controllers that manage Pods, not of the Pod definition itself.
Not a Scaling Unit by Itself
A Pod's definition does not include any notion of a desired count; replication and scaling are external concerns handled by controllers such as ReplicaSets, which create and manage multiple Pods derived from a shared template.
Single-Container vs. Multi-Container Pods
Both Fall Under the Same Definition
Whether a Pod contains exactly one container or several tightly coupled containers, such as an application container alongside a sidecar, both cases satisfy the same underlying Pod definition; multiplicity of containers is a configuration choice, not a different kind of object.