A Pod (as in a pod of whales or pea pod) is the smallest execution unit in Kubernetes. A Pod encapsulates one or more containers with shared storage and network resources, and a specification for how to run the containers.
A Pod can specify a set of shared storage volumes. All containers in the Pod can access the shared volumes, allowing those containers to share data. Volumes also allow persistent data in a Pod to survive in case one of the containers within needs to be restarted.
Each Pod is assigned a unique IP address for each address family. Every container in a Pod shares the network namespace, including the IP address and network ports. Inside a Pod (and only then), the containers that belong to the Pod can communicate with one another using localhost.