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)