What is the architecture of Kubernetes?

The architecture of Kubernetes consists of following components:

Master: There is a master node that is responsible for managing the cluster. Master performs following functions in a cluster.

  • Scheduling Applications
  • Maintaining desired state of application
  • Scaling applications
  • Applying updates to applications

Nodes: A Node in Kubernetes is responsible for running an application. The Node can be a Virtual Machine or a Computer in the cluster. There is software called Kubelet on each node. This software is used for managing the node and communicating with the Master node in cluster.

There is a Kubernetes API that is used by Nodes to communicate with the Master. When we deploy an application on Kubernetes, we request Master to start application containers on Nodes.