The Pod is a group of one or more containers and the smallest deployable unit in Kubernetes. Pods are always co-located and co-scheduled, and run in a shared context. Each Pod is isolated by the following Linux namespaces:
- The process ID (PID) namespace
- The network namespace
- The interprocess communication (IPC) namespace
- The unix time sharing (UTS) namespace
In a pre-container world, they would have been executed on the same physical or virtual machine.
It is useful to construct your own application stack Pod (for example, web server and database) that are mixed by different Docker images.