In the open source Kubernetes system of container management, a pod is the smallest collection of containers that can be created and managed together. The containers in any given pod are tightly integrated and share networking and storage resources and specifications for how to run them. The name “pod” derives from pea pods or a pod of whales.
Pods make it easier to deploy and manage applications because they offer a higher-level abstraction of all of the applications they hold. They enable efficient deployment, horizontal scaling and container replication of containers, and make it possible to automate such things as co-location, resource sharing, and dependency management. A pod also specifies a set of shared storage volumes, which enables data to survive container restarts.
Kubernetes pods are typically used to support co-located programs like content management systems; log and checkpoint backup and rotation; logging and monitoring programs; proxies and adapters; and many kinds of controllers, configurators and updaters.
Kubernetes is a primary element in many application delivery products on the market today.