All you need to know about Kubernetes architecture

Kubernetes Logo Center

Kubernetes has become most preferred microservices deployment system, it is gaining adoption in organizations as favorite choice to deploy applications. In this article I will explain the high-level Kubernetes architecture.

What is Kubernetes architecture?

Kubernetes is an open-source container orchestration system for automation of software deployment, scaling and management. The word Kubernetes is derived from Greek word meaning “Pilot.” It was developed by Google and is now maintained by the Cloud Native Computing Foundation.

Kubernetes architecture explained

Architecture of Kubernetes consist of Master Node and Slave Nodes. The Master node acts as a brain of the ecosystem that manages, plan, schedule and monitors nodes. On the other hand, Slave node/s host application as containers.

Nodes in Kubernetes
Nodes in Kubernetes

The Master Node has following components,

  • ETCD: It is distributed reliable key-value store that is simple, secure and fast. It is the database of Kubernetes and stores details such as Nodes, PODs, Accounts, Configs, Secrets, Roles, Bindings and others.
  • Kube API Server: It communicates with worker nodes through Kubelet. Also, it handles the functions such as Authenticating a user, validating requests, retrieving data, updating ETCD and communicating with the scheduler.
  • Kube Controller Manager: This component remediates situation, watch status, controls replication, cronjob etc. through various controllers like Deployment controller, Replication controller, Replication set, Node Controller, PV-Binder Controller, PV-Protection Controller, Job Controller, Stateful set, Namespace controller, Endpoint controller and Service account controller.
  • Kube Scheduler: Main function of this component is understanding resource requirements basis load, Filter nodes, Rank nodes, Resource, requirements and limits and lastly Node selector/affinity.
Kubernetes Master Node Components
Kubernetes Master Node Components

Similarly, the While Worker Node has following components,

  • Kubelet: It maintains following functions, Registering a Node, creating PODs, monitoring Nodes & POD, communicating with Kube-Proxy and communicating with container runtime engine.
  • Kube Proxy: It is a process that runs on each node and its job is to look for new services and create rules to forward traffic to respective services using IP table rules. The main function of Kube-Proxy is to communicate with other nodes within the cluster through services.
  • Container Runtime Engine: This can be either docker or rkt container engine specifically used for creating respective container images that will run the PODs.
kubernetes cluster architecture diagram
Kubernetes cluster architecture diagram

What is POD?

A POD is smallest deployment units of computing that you can create and manage on Kubernetes.

POD
POD

Each component of the master node and worker node/s explained in above architecture work together to run your application and leverage microservices agility, performance and cloud scalability to achieve business goals.

Also read about Version Control system and its types