Simplifying Kubernetes Architecture: A Beginner-Friendly Overview


In this blog, let's simplify the architecture of Kubernetes.
As we know, Kubernetes follows a master/node architecture, which is divided into two main sections:
Control Plane
Data Plane
The Control Plane is responsible for managing the cluster — it makes decisions about the cluster. The Data Plane is responsible for executing the decisions, like running applications in pods.
Components Overview
Control Plane Components:
API Server
Controller Manager
Scheduler
etcd
Cloud Controller Manager (CCM)
Data Plane Components:
Kubelet
Kube Proxy
Container Runtime (not always listed as a "component", but essential)
Let's Start with the Data Plane
Kubelet
Kubelet is responsible for running the pods on a node.
Think of a Pod as a student, Kubelet as the teacher, and a control plane component as the parent.
- If the student (pod) doesn't come to school (run properly), the teacher (Kubelet) informs the parent (Control Plane component), which takes necessary action like restarting it.
Container Runtime
Just like you need Java Runtime to run Java apps, Kubernetes needs a container runtime to run containers.
Examples:
containerd
,CRI-O
, etc.It must implement the Container Runtime Interface (CRI).
Kube Proxy
Handles networking within the cluster.
Assigns IPs, creates bridges, and provides default load balancing between services
Control Plane Components
API Server
The API Server is like the front desk of the Kubernetes cluster.
It’s the only entry point where all commands, queries, and updates are received.
Whether you're deploying an app or checking status, your request first hits the API Server, which then passes it to the right component.
Scheduler
The Scheduler is like a seating planner in a restaurant.
It checks the available tables (nodes) and places new guests (pods) where there’s enough space and resources.
Its job is to ensure that pods are placed on the most suitable nodes based on requirements and availability.
Controller Manager
This component acts like a watchdog.
In Kubernetes, auto-scaling and managing pods is done using small programs called controllers.
For example, a ReplicaSet controller makes sure the number of pods you want is always running.
If one pod fails or is missing, it automatically creates a new one.
Now, who makes sure that all these controllers themselves are working?
That’s the job of the Controller Manager — it keeps all the controllers active and doing their work correctly.
etcd
A key-value database that stores all cluster data safely.
It’s the memory of the cluster — if the cluster restarts, it uses etcd to remember everything.
Cloud Controller Manager (CCM)
- The Cloud Controller Manager (CCM) in Kubernetes connects your cluster to cloud services like Load Balancers or Storage.
It translates Kubernetes requests into cloud provider API calls (AWS, Azure, GCP, etc.).
New cloud providers can add support by contributing their logic to the open-source CCM.
On-premise clusters don’t need CCM since there's no cloud API to interact with.
I hope you found this helpful :)
Subscribe to my newsletter
Read articles from Sravya Bolla directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
