Skip to content

Kubernetes Worker Node Components

The Worker Node (often simply called the Node) is the host where the Kubernetes cluster actually runs the workloads. It is the smallest computing unit in Kubernetes, which can be either a physical machine or a virtual machine^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md]. These nodes are managed by the [[Control Plane]] and host the Pods, which represent the application instances^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md].

To function correctly, every worker node must run three essential components: a Container Runtime, Kubelet, and Kube-proxy^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md].

Core Components

kubelet

The Kubelet is the primary node agent. It acts as a bridge between the Kubernetes [[Control Plane]] and the node, running as a "micro-application" that communicates with the control plane^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md].

Its main responsibility is to ensure that containers described in Pod specifications are running and healthy^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md]. When the control plane needs to execute an operation on the node, it instructs the kubelet, which then performs the action^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md].

Kube-proxy

Kube-proxy is the network proxy that runs on every node^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md]. Its role is to manage network connectivity for the pods, handling communication for services both internally within the cluster and externally^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md].

It achieves this by manipulating the operating system's packet filtering layer or by forwarding traffic itself^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md]. Functionally, it provides service discovery and load balancing for [[Services]] across the cluster^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md].

Container Runtime

The Container Runtime is the software responsible for running containers^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md]. While Docker is the most well-known example, Kubernetes supports any runtime that complies with the Open Container Initiative (OCI) standards, such as containerd, CRI-O, or rkt^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md].

Sources

^[400-devops__06-Kubernetes__k8s-ithelp__Day3__README.md]