Architecture of K8s
Kubernetes follows client-server architecture where the Master Node and Worker node
exist which constitutes a ‘Kubernetes Cluster’. We can have multiple worker nodes and masternodes
1. Master Node
The master node is responsible for managing the complete cluster, it manages and communicates with worker nodes to run the applications on the container
It has four components: ETCD, API Server, Scheduler, and Controller Manager.
Following are the four components of the Master Node
a) API Server
The master can communicate with all the clusters through the API server. It is the main access point to the control plane.
b) ETCD
ETCD has the following features,
1. Fully replicated
The entire state of the data is available on every node that is present in the cluster.
2. Secure
It also implements automatic client TLS certificate authentication.
3. Fast
ETCD is very fast and can easily perform multiple operations in seconds.
领英推荐
c) Scheduler
It gathers information from the controller manager, and API server notifies the scheduler to perform the respective task such as autoscaling.
d) Control Manager
Controller manager collects information from the API server and decides what to do.
Following different components that are present in the master
1. Route Controller: Responsible for managing the networking
2. Node Controller: Responsible for detecting the node if it is not responding.
3. Service Controller: Responsible for load balancing to manage the load
4. Volume Controller: Responsible for mounting and creating volume storage.
2. Worker Node
Worker nodes are the mediator who manages and takes care of the container and communicate with master nodes which instructs to assign the resources to the containers scheduled. K8s can have multiple of worker nodes to scale resources as needed.
a) Kubelet
b) Kube-proxy
c) Pods
d) Container Engine