A pod with a single container is recommended, as running more than one container in a Pod is considered an advanced use case. We generally wrap a single container in a Pod, and Kubernetes manages Pods instead of directly working with containers.
Each Pod intends to run a single instance of our application. If we want to scale our application, the best practice is to scale it horizontally by creating a set of identical Pods, also known as replicas, to run each application instance. The deployment container should be used to create and manage Pods rather than creating Pods directly. However, we might sometimes interact directly with Pods when we want to debug, inspect or troubleshoot them.
In the Kubernetes cluster, pods run on nodes. Once we create a Pod, it remains on the node until one of the following is the case:
Pod’s process is finished, or
The pod gets deleted or,
The Pod is evicted from the node because of a lack of resources or,
Node dies for any reason.
I'm sharing more