The Kubernetes Master is a collection of four processes that run on a single node in your cluster, which is designated as the master node.
Those processes are:
1.) kube-apiserver
It implements the API and Is the portal or gateway into the Kubernetes cluster.
It is the contact point that is accessed by all users, automation, and components in the Kubernetes cluster.
All requests whether to create, update, delete or even list things on the cluster must go through the API server.
2.) kube-controller-manager
Is responsible for monitoring replication controllers, and creating corresponding pods to achieve the desired state. It uses the API to listen for new controllers and
to create and delete pods.
* Node Controller: Responsible for noticing and
responding when nodes go down.
* Replication Controller: Responsible for maintaining
the correct number of pods for every replication
controller object in the system.
* Endpoints Controller: Populates the Endpoints
object (joins Services & Pods).
* Service Account & Token Controllers: Create
default accounts and API access tokens for new
namespaces.
3.) kube-scheduler
It watches newly created pods that have no node assigned, and selects a node for them to run on.
4.) cloud-controller-manager
It consolidates all of the cloud-dependent logic from the preceding three
components:
* kube-apiserver: The gateway into the cluster
* kube-controller-manager: Runs controllers that interact with cloud providers
* kube-scheduler : Creates a single point of integration with the cloud.
etcd takes care of storing and replicating data used by Kubernetes across the entire cluster