Kubernetes Control Plane and Node Components
Control plane (master)
- API Server: front end; all
kubectl and API traffic goes here - etcd: distributed key-value store; all cluster state
- Controller Manager: watches state, takes corrective action (e.g. restart failed Pods)
- Scheduler: assigns new Pods to nodes
Worker node
- kubelet: agent; ensures containers run as expected on the node
- kube-proxy: network rules for Pod-to-Pod communication
- Container runtime: runs containers (containerd, CRI-O; Docker removed in 1.24)
Architecture
Master: API Server, etcd, Controller Manager, Scheduler
Worker: kubelet, kube-proxy, Container Runtime
kubectl
kubectl run hello-minikube: quick test Podkubectl cluster-infokubectl get nodes / kubectl get nodes -o wide
Exam tips
- etcd holds cluster state: not the scheduler
- kubelet runs on every worker, not the control plane