Skip to main content

Command Palette

Search for a command to run...

Kubernetes Architecture Made Simple: A Beginner's Guide

Updated
4 min read
Kubernetes Architecture Made Simple: A Beginner's Guide
J
IT Professional with 4+ years of combined experience across Software Engineering, DevOps, Cloud, Technical Writing, and AI-assisted Development. Passionate about building things, simplifying complex technology, and continuously learning while sharing knowledge through hands-on experimentation and technical writing.

If you have ever wondered why Kubernetes is often called K8s, it is simply because there are eight letters between the 'K' and the 's'. While the architecture can seem complicated, it becomes much easier to understand when you compare it to a standard Docker setup.

Kubernetes is a container orchestration platform that provides enterprise-level features that Docker alone does not, such as auto-healing, auto-scaling, and advanced networking. To manage these features, the architecture is split into two main parts: the Control Plane and the Data Plane.


1. The Control Plane: The "Brain" of the Cluster

The Control Plane (or Master component) is responsible for making global decisions about the cluster and detecting/responding to events.

  • API Server: This is the heart of Kubernetes. It is the central component that exposes the cluster to the external world; every request from a user or an internal component goes through the API server first. It acts like a gateway or entry point that handles all requests, enforces security, and manage cluster state via etcd.

  • Scheduler: When you want to run an application, the Scheduler decides which worker node is the best fit for your resource based on availability.

  • etcd: This is a key-value store that acts as the cluster's memory. It stores all cluster configuration and state information. Without etcd, you have no backup or record of your cluster's data.

  • Controller Manager: This component ensures the cluster stays in the "desired state". For example, if you tell Kubernetes, you want two copies of an app running, the Controller Manager (via the replica set controller) ensures that two are always active.

  • Cloud Controller Manager (CCM): This is an optional component used when running K8s on cloud providers like AWS or Azure. It translates Kubernetes requests into specific API calls that the cloud provider understands, such as creating a cloud load balancer.


2. The Data Plane: The "Muscle" of the Cluster

The Data Plane consists of worker nodes where your actual applications (Pods) are running. Every worker node contains three essential components:

  • Kubelet: Think of this as the manager of the node. It is responsible for ensuring that the Pods are running as expected. If a Pod fails, the Kubelet reports this to the Control Plane to trigger auto-healing.

  • Kube-proxy: This handles the networking. It assigns IP addresses to Pods and manages load balancing by directing traffic to the correct destination using tools like IP tables.

  • Container Runtime: This is the software that actually runs the container. While Docker was once the standard, Kubernetes now supports various runtimes like containerd or CRI-O as long as they follow the Kubernetes container interface.


Pods vs. Containers

In Docker, the smallest unit is a container. In Kubernetes, the smallest unit is a Pod. A Pod is essentially a wrapper over a container (or multiple containers) that provides advanced capabilities required for orchestration.

Summary Table

Component Location Role
API Server Control Plane The central entry point/heart
Scheduler Control Plane Decides where to place Pods
etcd Control Plane Backing store for cluster data
Kubelet Data Plane Ensures Pods are running on nodes
Kube-proxy Data Plane Manages networking and IPs
Container Runtime Data Plane The execution environment (e.g., containerd)

By separating the "decision making" (Control Plane) from the "work" (Data Plane), Kubernetes can efficiently manage thousands of containers across many different servers.

More from this blog

D

Demystifying Tech with Jasai

102 posts

Demystifying Tech with Jasai is a blog dedicated to breaking down complex tech concepts into clear, beginner-friendly explanations. Covering DevOps, Docker, Git, AWS, CI/CD, Networking, and core programming fundamentals, it emphasizes strong foundations before advanced topics. Through step-by-step walkthroughs and real-world analogies, it simplifies the why behind the how — making technology approachable, structured, and built for long-term growth.