PODs in Kubernetes

Atomic unit of work in Kubernetes

They are the application/service

Can contain multiple containers

Pods cannot be created/destroyed, only instantiated

Pod lifecycle -> pending, ready, failed/succeeded

Pods are instantiated by Kubelet in the worker nodes

Pods can be scaled up/down

Pods have unique IPs

Containers within a Pod share namespace resources like network, mount, IPC, etc

Therefore containers within a Pod can share files and communicate with each other via localhost

Pods communicate with each other (with other pods) using the Pod network

There is a load balancer which routes traffic coming from outside to appropriate pod (with the help of kubeproxy)