Skip to main content

Kubernetes Architecture

Kubernetes is a distributed control system where a central control plane maintains desired state and worker nodes execute workloads.

Think of it as brain (control plane) and muscles (workers).

Control Plane Components​

The control plane decides what should happen in the cluster.

ComponentRole
kube-apiserverCluster front door
etcdPersistent state store
kube-schedulerPod placement
kube-controller-managerState reconciliation

kube-apiserver​

The API Server is the only component that talks to everything.

  • All reads/writes go through it
  • Authenticates and validates requests
  • Persists state to etcd

etcd​

etcd is a distributed, strongly-consistent key-value database.

  • Stores cluster state (Pods, Nodes, Secrets)
  • Source of truth
  • If etcd is unavailable, Kubernetes cannot function

kube-scheduler​

The scheduler assigns Pods to worker nodes.

  • Watches for unscheduled Pods
  • Evaluates resource availability
  • Writes binding decision to API server

kube-controller-manager​

Controllers ensure actual state matches desired state.

Examples:

  • Deployment Controller
  • Node Controller
  • ReplicaSet Controller

Analogy: Thermostat correcting room temperature

Worker Node Components​

Worker nodes are where applications actually run.

ComponentRole
kubeletNode agent
kube-proxyService networking
Container RuntimeRuns containers

kubelet​

kubelet is the node-level manager.

  • Watches assigned Pods from API server
  • Starts/stops containers
  • Reports health and status

kube-proxy​

kube-proxy handles service abstraction.

  • Implements load balancing
  • Uses iptables or IPVS
  • Routes traffic to Pod IPs

Container Runtime​

The runtime executes containers.

Common runtimes:

  • containerd
  • CRI-O

Docker is no longer required.

Component Communication Flow​

All communication flows through the API Server.

Key rules:

  • No direct etcd access except API server
  • Workers never talk to each other directly
  • Desired state flows down, status flows up

Master vs Worker Analogy​

Real WorldKubernetes
CEOAPI Server
Company recordsetcd
HRScheduler
ManagersControllers
Employeeskubelet
Factory machinesContainers

Hands-on: Explore a Running Cluster​

View Nodes​

Input:

kubectl get nodes

Output:

NAME        STATUS   ROLES           AGE   VERSION
node-1 Ready control-plane 10d v1.35.0
node-2 Ready worker 10d v1.35.0

This shows control-plane and worker nodes.

Describe a Node​

Input:

kubectl describe node node-2

Output:

Capacity:
cpu: 4
memory: 16Gi
Conditions:
Ready True

This shows resources and node health.

View Control Plane Pods​

Input:

kubectl get pods -n kube-system

Output:

NAME                                READY   STATUS    NODE
kube-apiserver-node-1 1/1 Running node-1
kube-scheduler-node-1 1/1 Running node-1
kube-controller-manager-node-1 1/1 Running node-1
etcd-node-1 1/1 Running node-1

This confirms control plane components are Pods.

Check Component Health​

Input:

kubectl get componentstatuses

Output:

NAME                 STATUS
scheduler Healthy
controller-manager Healthy
etcd-0 Healthy

This verifies core control plane health.

Key Takeaways​

ConceptMeaning
Control PlaneDecides desired state
Worker NodeExecutes workloads
API ServerCentral communication hub
etcdCluster memory
ControllersContinuous reconciliation

Kubernetes works because nothing is assumed to be correct — everything is constantly verified and fixed.