Pods
Pods are the smallest deployable units in Kubernetes and represent a single instance of an application. Pods contain one or more containers (although the most common case is to have just one container inside a pod). When multiple containers live inside a pod, they are guaranteed to be co-located on the same node and can share resources.
Pods provide two main benefits:
- Resource sharing and communication: Containers within the same pod can communicate over
localhost
and share resources such as volumes. This facilitates easy communication between related containers. It is important to notice, though, that this is an advanced use case and should be used only when your containers are tightly coupled. We regularly use pods for single-container deployments. - Management and deployment: Pods are the units that get deployed, scaled, and managed in Kubernetes. You don’t directly create or manage the containers within pods. This entire process is fully automated.