Kubernetes Pod

                Pod is the smallest deployable object in the kubernetes object model. Pod represents processes running on cluster. Pod is the basic execution unit of a kubernetes application. A pod is the basic execution unit. It is smallest and simplest unit in the kubernetes object model that we can create or deploy.

                A Pod encapsulates an application container, storage resources, a unique network IP and options how the containers should run. Pod contains either a single container or a small number of containers.

Pods can be used two ways. 1. One-container-per-pod  2. Multiple-container-per-node.
  1. One-container-per-pod: Pods that run a single container is most common kubernetes use cases. Pod as a wrapper around a single container and kubernetes manages the pods rather than the containers directly.
  2. Multiple-container-per-pod: Pod might encapsulate an application composed of multiple container. These multiple container are tightly coupled and need to share resources. The pod wraps these containers and storage resources together as a single manageable entity.Note that grouping multiple co-located and co-managed containers in a single Pod is a relatively advanced use case. This is used when containers are tightly coupled. 
          One pod run a single instance of a given application. If we want to run multiple instances g, we should use multiple pods. One pod for each instance.

Working  of  Pod

              Pod run inside the cluster node environment. Pod remains on that node until process it terminated on cluster, the pod is deleted, the pod is evicted for lack of resources.

              Kubernetes uses a higher-level abstraction, called a Controller, that handles the work of managing the relatively disposable Pod instances. Pod is managed by controller. A Controller can create and manage multiple Pods for you. It also handle replication and rollout and providing self-healing capabilities at cluster scope. The Controller might automatically replace the Pod by scheduling an identical replacement on a different Node. Controllers use a Pod Template that you provide to create the Pods for which it is responsible.

Conclusion 

              Pod is smallest deployable unit with multiple container and single container. It runs inside the cluster node environment and it is managed by controller. Pod lifecycle based on cluster environment.


Comments

Popular posts from this blog

Maven Setting Mirror

Spring Session

Hibernate Version 5.0