Kubernetes Worker Node - Complete Worker Node Components & Architecture Guide

Comprehensive guide to Kubernetes Worker Node architecture including kubelet, kube-proxy, container runtime interface (CRI), supported container runtimes, and node pools. Learn how worker nodes execute applications and communicate with the control plane.

Kubernetes Worker Node

A worker node is a machine (virtual or physical) that runs your applications in Kubernetes. Think of it as a worker that follows instructions from the control plane to run your containers.

kubelet

  • Manages the pod lifecycle on the node
  • Ensures containers described in Pod specifications are running and healthy
  • Acts as the primary "node agent" that communicates with the control plane
  • Starts, stops, and maintains application containers as directed

kube-proxy

  • A network proxy that runs on each node
  • Manages network rules and routing on nodes
  • Enables network communication to your Pods
  • Handles load balancing for services

Container Runtime

The container runtime is the software responsible for running containers. Kubernetes supports several container runtimes, but they must all implement the Kubernetes Container Runtime Interface (CRI).

Supported Container Runtimes:

Moby Containerd CRI-O Rkt Kata Virtlet

Important Note for Kubernetes v1.19+

  • Docker images continue to work as usual - it's business as usual!
  • What changed: you can no longer access the Docker engine inside the cluster
  • Docker commands won't run if you SSH into a node
  • Use crictl instead for troubleshooting containers

Node Pools

Node pools allow you to group worker nodes with similar characteristics for better management and scalability.

What is a Node Pool?

A node pool is a group of virtual machines, all with the same size and configuration.

Multiple Pools

A cluster can have multiple node pools with different VM sizes, and each pool can be autoscaled independently.

Docker Desktop Limitation

Docker Desktop is limited to 1 node, making it suitable for development but not for production workloads.

Understanding Worker Nodes in Simple Terms

Think of a Kubernetes cluster like a restaurant kitchen:

👨‍🍳 The Control Plane (Head Chef)

Makes decisions about what needs to be cooked, when, and by whom. It doesn't do the actual cooking but directs the workers.

👩‍🍳 Worker Nodes (Line Cooks)

These are the actual cooks who prepare the food (run your applications). Each cook has:

  • kubelet - Follows the head chef's recipes exactly
  • kube-proxy - Makes sure food gets to the right tables
  • Container Runtime - The actual cooking tools and techniques

🍽️ Node Pools (Specialized Stations)

Like having a grill station, fry station, and salad station - each optimized for different types of cooking (workloads).