
- The Kubernetes cluster hosts your containerized applications and automates deployment, scaling, and networking.
- Worker nodes are like cargo ships that carry containers (your application workloads).
- Control plane nodes act as control ships that plan, monitor, and coordinate the cargo ships.
Kubernetes cluster = control plane (brains) + worker nodes (muscle). Understanding which components run where helps when debugging, upgrading, or securing clusters.
- Persist and manage cluster state
- Schedule workloads onto appropriate nodes
- Continuously reconcile desired state with actual cluster state
- Expose the API used for cluster operations
etcdis a distributed, highly available key-value store that persists Kubernetes cluster state and configuration.- It stores information about nodes, pods, Services, ConfigMaps, Secrets (encrypted in many production clusters), and more.
etcdis critical: if its data is lost or corrupted, cluster state is compromised.
Always back up
etcd regularly and secure access to it. etcd contains the authoritative source of truth for your cluster—losing it can cause downtime or data loss.- The scheduler (
kube-scheduler) selects the best node for a Pod based on resource requests, node capacity, and scheduling policies (for example, taints/tolerations and node affinity). - Scheduling decisions evaluate pod requirements and node characteristics to optimize placement and maintain cluster stability.
- Controllers are control-plane processes that continuously reconcile desired state (from the API) with the actual state.
- Node controller: handles node lifecycle events (registration, unavailability, removal).
- Deployment/ReplicaSet controllers: ensure the desired number of replicas are running.
- ServiceAccount and other controllers: manage authentication objects and domain-specific resources.
- The
kube-apiserveris the primary management component. It exposes the Kubernetes API used by administrators, controllers, and kubelets. - All control plane components and external tools read from and write to the cluster through the
kube-apiserver. kubeletsreport node and Pod status to thekube-apiserver, and controllers act on changes observed via the API.
- Nodes need a container runtime to run container images. Kubernetes supports any CRI-compatible runtime.
- Common runtimes include
containerdandCRI-O. Historically Docker was common, but modern clusters use CRI-compatible backends. - The runtime is responsible for pulling images, starting containers, and exposing container lifecycle information to the
kubelet.
kubelet: the node agent responsible for registering the node, receiving Pod specs from the API server, and ensuring containers are started and healthy. It regularly reports status back to the API server.kube-proxy: manages networking rules on the node so Pods and Services can communicate. It implements Service load-balancing usingiptablesorIPVS.- Container runtime: pulls and runs container images (e.g.,
containerd,CRI-O).

- Kubernetes Concepts: Nodes, Pods, and Components
- kube-apiserver
- etcd: Official Documentation
- Container runtimes and CRI