Day3- architecture and components of Kubernetes and Pods
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
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.
- A Pod is a Kubernetes abstraction that represents a group of one or more application containers.
- Pod is instantiated by kubelet.
- Pod is atomic unit, like container is atomic unit in docker engine.
- As container lifecycle is manage by docker engine, like that pod’s lifecycle is managed by Kubernetes.
- Each Pod is tied to the Node where it is scheduled and remains there until termination (according to restart policy) or deletion.
- A Pod always runs on a Node.
- Each pod is assigned a unique IP in a cluster
- Pod host container so if container exist then pod exist.
- Each pod gets one network. So same port can not be assigned to two or more containers, running in the same pod.
- Pod does not maintain persistent storage inside it. Since once pod terminate then we can not get the same Pod instance.
- In Kubernetes cluster everything is pod except some component like kubelet, docker engine, kubectl and kubeadm.
- Any containers in the same pod will share the same resources and local network.
- Pods are used as the unit of replication in Kubernetes
- In same pod multiple container can communicate easily.
- but we should try each pod represent one container.