Kubernetes Architecture:
A k8s cluster consists of master and worker nodes.
Master nodes manages the entire cluster.
Worker nodes is where the workloads(pods) run.Each node can contain 1 or more Pods. Each pod contains one or more containers.
Master Node:
Also called control plane. Will always be a linux box.
Inorder to setup master we need 4 main softwares installed.
1) API server :
This is the front end to the k8s cluster using which users interact with the cluster. Exposes REST API. Takes input in the form of json etc.
2) Cluster Store:
Persistent storage for cluster powered by ETCD. It is like the database for the cluster always maintaining the cluster state and configs
3) Controller Manager:
Watches for changes abd helps maintain the desired state
4) kube-scheduler:
Watches apiserver for new pods. Assigns pod sceduling to nodes.
Worker Node:
Also called minions or just nodes.
Has 3 main componenets
1) kubelet:
This is the k8s agent which is an exe running on each node.
Responsible for registring node with cluster by comunicating with API server
2) Container Engine - example Docker,Rocket,containerd
Responsible for container management
3) kube-proxy:
Responsible for k8s networking. Assings IP to pods, load balances across pods
Top comments (0)