Implementing Pods
Pods are implemented using Linux isolation tenets such as groups and namespaces, and generally can be thought of as a logical host machine. Pods run one or more containers (which can be based on Docker, CRI-O, or other runtimes) and these containers can communicate with each other in the same ways that different processes on a VM can communicate.
In order for containers within two different Pods to communicate, they need to access the other Pod (and container) via its IP. By default, only containers running on the same Pod can use lower-level methods of communication, though it is possible to configure different Pods with the availability to talk to each other via host IPC.
Pod paradigms
At the most basic level, there are two types of Pods:
- Single-container Pods
- Multi-container Pods
It is generally a best practice to include a single container per Pod. This approach allows you to scale the different parts of your application separately...