Simplifying Kubernetes Architecture: A Beginner-Friendly Overview

Sravya BollaSravya Bolla
3 min read

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

Cluster Architecture | Kubernetes

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 :)

0
Subscribe to my newsletter

Read articles from Sravya Bolla directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sravya Bolla
Sravya Bolla