Day3- architecture and components of Kubernetes and Pods

Kubernetes Architecture:

When you deploy Kubernetes, we get a cluster.

Every cluster has at least one Master node and Worker node

Control Plane Components:

kube-apiserver                 -> POD -> Container -> Docker image –> Google Registry

etcd                                  -> POD -> Container -> Docker image –> Google Registry

kube-scheduler                 -> POD -> Container -> Docker image –> Google Registry

kube-controller-manager -> POD -> Container -> Docker image –> Google Registry

  • The control plane’s components make global decisions about the cluster. So, it manages the worker nodes and the Pods in the cluster.
  • Node in which control plan components run is referred as Master node.

Node Components:

Kubelet : Instantiate the pods

Kube-proxy : manage the n/w policy

Container runtime : like docker

Kubead – This is part of master Node. kubectl

Kubeadm: This is part of master Node.


Kubernetes support declarative and Imperative approach to create kubernetes component


What is POD? define in 15 bullets points.

  1. A Pod is a Kubernetes abstraction that represents a group of one or more application containers.
  2. Pod is instantiated by kubelet.
  3. Pod is atomic unit, like container is atomic unit in docker engine.
  4. As container lifecycle is manage by docker engine, like that pod’s lifecycle is managed by Kubernetes.
  5. Each Pod is tied to the Node where it is scheduled and remains there until termination (according to restart policy) or deletion.
  6. A Pod always runs on a Node.
  7. Each pod is assigned a unique IP in a cluster
  8. Pod host container so if container exist then pod exist.
  9. Each pod gets one network. So same port can not be assigned to two or more containers, running in the same pod.
  10. Pod does not maintain persistent storage inside it. Since once pod terminate then we can not get the same Pod instance.
  11. In Kubernetes cluster everything is pod except some component like kubelet, docker engine, kubectl and kubeadm.
  12. Any containers in the same pod will share the same resources and local network.
  13. Pods are used as the unit of replication in Kubernetes
  14. In same pod multiple container can communicate easily.
  15. but we should try each pod represent one container.