Kubernetes Architecture

Soham Mehta
2 min readDec 24, 2023

--

We have seen what is Kubernetes and why we need this in this article. Here we will discuss the structure of the Kubernetes and its different elements. In Kubernetes we have 2 nodes:

  • Master Node (Control Plane)
  • Worker Node (Data Plane)

1) Let’s understand Worker node or Data Plane with docker context:

In Kubernetes, there are two important parts: the Control Plane and the Data Plane. Think of the Control Plane as the boss, and the Data Plane as the worker. When you want something done, you tell the boss (Control Plane), and then the boss makes sure it happens.

So, when a request comes in, it first goes to the Control Plane, the boss. The boss then figures out where the request needs to go and sends it to the right place — the Data Plane, where the actual work gets done. This is how Kubernetes manages requests and makes sure everything runs smoothly.

So Worker node has these 3 elements:

  1. Container Runtime — For running container
  2. Kubelet — For managing IP and networking
  3. KubeProxy — For auto healing feature

2) Let’s understand Control Plane now:

  • In the world of Kubernetes, every user request takes a pitstop at the API Server, the gatekeeper of the cluster.
  • From there, the Scheduler steps in, deciding which node (like Node 1, Node 2, and so on) should handle the request.
  • Much like Jenkins, Kubernetes keeps a backup of its entire cluster info in an etcd Database. It’s like a massive record book, storing key-value pairs that spill the beans about the cluster.
  • Now, enter the Controller Manager, a guardian angel managing auto-scaling through controllers such as the replica set.
  • Now, let’s get acquainted with the Cloud Control Manager (CCM). Imagine Kubernetes running over AWS or Azure. When you request a load balance or storage, think of CCM as the translator. It transforms your request into an API language that your specific cloud provider comprehends. In simple terms, CCM is the behind-the-scenes wizard that enables Kubernetes to communicate effectively in the language of the underlying cloud provider.

Combining both the node, whole architecture looks like this:

Reference: devopsschool.com

I hope this article is helpful. We will see different elements of Kubernetes like Pods, Deployment, Service, Ingress, Probes in next article. Thanks for reading!

--

--

Soham Mehta

Expressing a strong interest in modern frontend tech, particularly JavaScript, and a deep passion for working with React and React Native.