Kubernetes Cluster consists of Master and Node. Several Kubernetes services run on the Node.
The Master node
The Master is the brain of the Kubernetes Cluster and runs the following Daemon services: Kube-apiserver, KuBE-Scheduler, Kube-Controller – Manager, ETCD, and Pod networks (e.g. Flannel).
API Server (Kube-Api Server)
API Server provides HTTP/HTTPS RESTful apis, that is, Kubernetes API. API Server is the front-end interface of Kubernetes Cluster. Various client tools (CLI or UI) and other components of Kubernetes can manage various resources of the Cluster through it.
The Scheduler (kube – the Scheduler)
The Scheduler is responsible for deciding which Node to run the Pod on. When scheduling, Scheduler fully considers the Cluster topology, the load of each node, and the requirements of applications for high availability, performance, and data affinity.
Controller Manager (kube-controller-manager)
The Controller Manager manages Cluster resources to ensure that they are in the expected state. The Controller Manager consists of a variety of controllers, Including replication Controller, EndPoints Controller, Namespace Controller, ServiceAccounts Controller, and so on.
Different controllers manage different resources. For example, the Replication Controller manages the lifecycle of Deployment, StatefulSet, and DaemonSet, and the Namespace Controller manages namespace resources.
etcd
Etcd is responsible for saving the configuration information of Kubernetes Cluster and the status information of various resources. Etcd quickly notifies Kubernetes components when data changes.
Pod network
For pods to communicate with each other, Kubernetes clusters must deploy Pod networks. Flannel is one of the options.
These are the components running on the Master, and we’ll discuss Node in the next section.
Books:
1. Docker Container Technology in 5 minutes a day item.jd.com/16936307278… 2. Play OpenStack in 5 Minutes every day item.jd.com/12086376.ht…
The original link