DEV Community

Shiva Charan
Shiva Charan

Posted on

🧠 What Is the Control Plane in Kubernetes?

The Control Plane is the “Brain” of Kubernetes.

It makes all the decisions in the cluster:

  • What should run?
  • Where should it run?
  • What to do if something breaks?
  • How many replicas should exist?
  • Which node should get which pod?

The Control Plane is responsible for managing the entire cluster, while Worker Nodes simply follow its instructions.


🎯 Why Was the Control Plane Created?

Without a central “brain,” you would have chaos:

  • No one decides which node runs which pod
  • No one restarts pods when they crash
  • No one performs scaling
  • No one stores the desired state
  • No communication between nodes

Kubernetes needed a central orchestrator.

→ That is the Control Plane.


🏛️ Control Plane = 5 Main Components

📌 1. API Server (kube-apiserver)
📌 2. etcd
📌 3. Scheduler (kube-scheduler)
📌 4. Controller Manager (kube-controller-manager)
📌 5. Cloud Controller Manager


📌 1. API Server (kube-apiserver)

The front door of Kubernetes

Everything talks to the API Server:

  • kubectl commands
  • Controllers
  • Kubelet
  • Operators
  • Dashboards

It receives requests → validates → stores in etcd.

Think of it as:

“The receptionist + traffic manager of Kubernetes.”


📌 2. etcd

The database of Kubernetes

It stores:

  • Pods
  • Deployments
  • Services
  • Configurations
  • State of every component

If etcd is lost, the cluster loses its memory.


📌 3. Scheduler (kube-scheduler)

Decides where pods should run

Example:

You ask for 3 pods
Scheduler checks:

  • Which node has free CPU/memory?
  • Which node matches affinity/tolerations?

Then schedules the pod to the best node.


📌 4. Controller Manager (kube-controller-manager)

Ensures the “desired state” is always met

Example:

You say:

“I want 5 replicas.”

But 1 pod dies.

Controller Manager immediately creates a new one.

It runs controllers like:

  • Deployment controller
  • ReplicaSet controller
  • Node controller
  • Job controller
  • Endpoints controller

Think of this as:

“The supervisor who keeps checking and fixing things.”


📌 5. Cloud Controller Manager

Handles cloud-specific tasks like:

  • AWS load balancers
  • Node lifecycle (e.g., EC2 problems)
  • Networking routes
  • Storage integration

This separates Kubernetes logic from cloud provider logic.


🎨 Putting It All Together

When you run kubectl apply -f app.yaml:

  1. API Server receives the YAML
  2. API Server stores the desired state in etcd
  3. Scheduler picks the node
  4. Controller Manager ensures correct replica count
  5. Worker node kubelet starts containers

This flow is repeated for every pod, service, config, secret, or deployment.


🧠 Control Plane in One Sentence

The Control Plane is the central intelligence of Kubernetes that stores the desired state, makes scheduling decisions, monitors the system, and ensures everything stays running as expected.


⚖️ Control Plane vs Worker Node (Very Simple)

Feature Control Plane Worker Node
Purpose Thinks Executes
Runs API Server, Scheduler, etcd, controllers Kubelet, runtime, kube-proxy
Stores state? Yes No
Runs apps? No Yes
Makes decisions? Yes No

📝 Interview-Ready Answer (Short Version)

What is the Control Plane?

The Control Plane is the set of components that manage the entire Kubernetes cluster. It makes decisions like scheduling pods, maintaining desired state, tracking cluster health, and exposing the Kubernetes API.

What components does it include?

API Server, etcd, Scheduler, Controller Manager, and Cloud Controller Manager.

Top comments (0)