Explore plans starting at ₹699/mo →
Kubernetes & Containers

Kubernetes Nodes and Control Planes Explained

S
ServerRaja
8 min read
#Infrastructure#Guide#Performance#Containers#Kubernetes#High Availability
Kubernetes Nodes and Control Planes Explained

A Kubernetes cluster consists of two types of machines: the control plane (master) and worker nodes. Understanding their roles and requirements is essential for planning cluster capacity and reliability.

Control Plane

The control plane is the brain of the cluster. It runs several critical components:

API Server (kube-apiserver)

The API server is the central management entity. All communication with the cluster (kubectl commands, controller requests, kubelet reports) goes through the API server. It validates and processes RESTful requests and updates the cluster state in etcd.

The API server is the only component that directly communicates with etcd.

etcd

etcd is a distributed key-value store that holds the entire cluster state. It stores: - Cluster configuration - Node information - Pod specifications - Service definitions - Secrets and ConfigMaps

etcd is critical: if etcd data is lost, the cluster state is lost. Production clusters use etcd clusters with 3 or 5 nodes for redundancy.

Scheduler (kube-scheduler)

The scheduler assigns newly created pods to nodes. It considers: - Resource requests vs available resources on each node - Node affinity and anti-affinity rules - Taints and tolerations - Pod priority and preemption

Controller Manager (kube-controller-manager)

The controller manager runs multiple controllers that maintain the desired state: - ReplicaSet controller: ensures the correct number of pod replicas - Node controller: monitors node health and handles failures - Job controller: manages batch jobs - ServiceAccount controller: creates default service accounts

Worker Nodes

Worker nodes run the actual application workloads. Each worker node runs:

Kubelet

The kubelet is the node agent that: - Receives pod specifications from the API server - Ensures containers described in pods are running and healthy - Reports node and pod status back to the control plane - Executes liveness and readiness probes

Container Runtime

The container runtime pulls images and runs containers. Common runtimes: - containerd: the most widely used runtime - CRI-O: lightweight runtime designed for Kubernetes

Kube-proxy

kube-proxy manages network rules on each node to enable Service routing. It programs iptables or IPVS rules that load-balance traffic to Service endpoints.

Resource Requirements

Control Plane Node

Minimum for development: 2 vCPUs, 4 GB RAM Recommended for production: 4 vCPUs, 8 GB RAM etcd storage: SSD strongly recommended (etcd is latency-sensitive)

Worker Nodes

Minimum for small workloads: 2 vCPUs, 4 GB RAM Recommended for production: 4+ vCPUs, 8+ GB RAM Reserve 500 MB to 1.5 GB for system overhead (kubelet, container runtime, kube-proxy)

High Availability

Production clusters should have: - Multiple control plane nodes (3 or 5 for etcd quorum) - Multiple worker nodes (for workload redundancy) - Load balancer in front of API server endpoints - etcd on fast, reliable storage (NVMe SSD)

Managed vs Self-Managed

Managed Kubernetes services handle control plane management, updates, and etcd backups. This reduces operational complexity significantly.

Self-managed clusters give you full control but require expertise in control plane operations, etcd management, and upgrade procedures.

When planning a Kubernetes deployment, consider the resource requirements for both the control plane and worker nodes. Reviewing available server configurations helps ensure you allocate appropriate resources.

Key Takeaways

  • The control plane (API server, etcd, scheduler, controller manager) manages cluster state and makes all scheduling and orchestration decisions — it is the brain of every Kubernetes cluster
  • Worker nodes run application workloads via the kubelet, container runtime, and kube-proxy, with resource overhead reserved for system components
  • etcd is the single source of truth for cluster state — always run an odd-numbered cluster (3 or 5 nodes) on fast SSD storage in production
  • Production clusters need multiple control plane nodes behind a load balancer and multiple worker nodes for workload redundancy
  • Managed Kubernetes services eliminate the operational burden of control plane management, etcd backups, and upgrade procedures
K8s Nodes and Control Planes Explained | ServerRaja