Master Node & its Components

  • The main machine that controls the nodes.
  • Managing & controlling & orchestrating of the worker nodes.
  • Make global decisions about cluster, like scheduling.
  • Detecting and responding to cluster events, like starting up a new pod.

.:: Kube-APIServer ::.

  • Everything in kubernetes cluster will connect and talk to this API Server.
  • It is the front-end tools for sending kubeconfigs trough kubectl CLI.
  • API server validates & configures required data for worker nodes.
  • Communicate with other libraries & components using RESTfull interface

.:: etcd or Cluster-Store ::.

  • It is stands for “/etc distributed”.
  • A place for storing config files of clusters there. (Accessible only by API Server)
  • It is a key-value based storage for manage critical information.
  • Highly recommended to have a backup plan for etcd in a cluster.

.:: Kube-Scheduler ::.

  • Decide where to start the workload, on which node should it start the application.
  • Choosing a node for newly created pods on kubernetes.
  • individual & collective resource requirements, hardware/software/policy constraints, affinity & anti-affinity specifications, data locality & inter-workload interference.

.:: Kube-Controller-Manager ::.

  • There are some controllers here that each controller is a separate process, but they are all compiled into a single binary and run in a single process.
  • It includes: Node/Replication/Endpoints/Service-Account/Token Controller