Kubernetes Pod


Kubernetes Pod is an Abstraction that represents a group of one or more application containers (such as Docker or rkt), and some shared resources for those containers.

A Pod models an application-specific "logical host" and can contain different application containers which are relatively tightly coupled. For example, a Pod might include both the container with your Node.js app as well as a different container that feeds the data to be published by the Node.js web server. The containers in a Pod share an IP Address and port space, are always co-located and co-scheduled, and run in a shared context on the same Node.

Kubernetes Pods are the atomic unit on the Kubernetes platform. When we create a Deployment on Kubernetes, that Deployment creates Kubernetes Pods with containers inside them (as opposed to creating containers directly). Each Kubernetes Pod is tied to the Kubernetes Node where it is scheduled, and remains there until termination (according to restart policy) or deletion. In case of a Node failure, identical Pods are scheduled on other available Nodes in the cluster.

Containers should only be scheduled together in a single Kubernetes Pod if they are tightly coupled and need to share resources such as disk.

More Information#

There might be more information for this subject on one of the following: