Skip to main content

Cluster Architecture

Control Plane components

ComponentRole
kube-apiserverAll cluster API requests go through here
etcdDistributed key-value store — the source of truth
kube-schedulerAssigns pods to nodes based on resources and constraints
kube-controller-managerRuns reconciliation loops (Node, Deployment, Endpoint controllers)
cloud-controller-managerCloud-specific integrations (LB provisioning, node lifecycle)

Node components

ComponentRole
kubeletRuns on every node; manages pod lifecycle
kube-proxyMaintains iptables/IPVS rules for Service routing
Container runtimePulls images and runs containers (containerd, CRI-O)

High availability

A production control plane runs at least 3 etcd members and 2 API server replicas behind a load balancer.

┌──────────────────────────────────┐
│ Load Balancer │
└──────────┬───────────────────────┘

┌──────┴──────┐
│ API Server │ (×2 or ×3)
└──────┬──────┘

┌──────┴──────┐
│ etcd │ (×3 members, quorum requires ⌊n/2⌋+1)
└─────────────┘

etcd backup

ETCDCTL_API=3 etcdctl snapshot save /backup/etcd-$(date +%F).db \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key
warning

Automate etcd snapshots. Losing etcd = losing cluster state.