Kubernetes Architecture
Kubernetes follows client-server architecture. Wherein, we’ve master put in on one machine and also the node on separate Linux machines.
Kubernetes – Master Machine Components
The components of Kubernetes Master Machine are:
- etcd
Kubernetes uses etcd to store all its data in a form of key-value pair – its configuration data, its state, and its metadata. Kubernetes is a distributed system, so it requires a distributed data store like etcd. etcd lets any of the nodes within the Kubernetes cluster scan and write information. - API Server
It configures and validates API objects knowledge which embrace pods, replication controllers, services and others. The API Server services REST operations and provides the frontend to the cluster’s shared state through which all alternative parts act. - Controller Manager
Management area unit in Kubernetes control loops which keep watching the state of your cluster. Each cluster has a minimum of one worker node, then create or request changes wherever required. Every controller tries to maneuver the present cluster state nearer to the required state.. It works toward obtaining the shared state of the cluster so makes changes to bring the present standing of the server to the required state. The key controllers are unit replication controller, end controller, namespace controller, and repair account controller. The controller manager runs totally different types of controllers to handle nodes, endpoints, etc. - Scheduler
The Kubernetes scheduler responsibility is to schedules pods onto nodes. The scheduler notices that the newly created pod doesn’t have a node assigned to it. The scheduler align node to pod.
Kubernetes – Node Components
- Kubelet
The kubelet is chargeable for maintaining a collection of pods, that are composed of 1 or additional containers, on an area system. Among a Kubernetes cluster, the kubelet functions as an area agent that watches for pod specs via the Kubernetes API server. - Kubernetes Proxy Service
kube-proxy is a network proxy that runs on each and every node, in your cluster, implementing part of the Kubernetes Service. concept. kube-proxy maintains network rules on nodes.