Worker Node – In Kubernetes Overview
- A worker node provides a running environment for client applications
- In Kubernetes the application containers are encapsulated in Pods, controlled by the cluster control plane agents
- Pod is the smallest scheduling work unit in Kubernetes.
- in a multi-worker Kubernetes cluster, the network traffic is handled directly by the worker nodes, and is not routed through the control plane node.
A worker node has the following components:
- Container Runtime
- Node Agent -
- kubelet Proxy -
- kube-proxy Add-ons for DNS, dashboards, cluster-level monitoring and logging
1. Container Runtime
- Kubernetes supports several container runtimes:
- CRI-O : A lightweight container runtime for Kubernetes,
- Containerd : A simple and portable container runtime.
- Docker Engine : A popular and complex container platform which uses containerd as a container runtime.
- Mirantis Container Runtime : Formerly known as the Docker Enterprise Edition.
2. Node Agent - kubelet
- The kubelet is an agent running on each control plane node and workers node
- It receives Pod definitions, from the API Server, and interacts with the container to run containers in the Pod.
- The kubelet connects to container runtimes through a plugin interface like imageService and runtimeService
- The ImageService is responsible for all the image-related operations, while the
- RuntimeService is responsible for all the Pod and container-related operations.
3. Proxy - kube-proxy
- Kube-proxy is Network agent which runs on each control plane node and workers node
- implements forwarding rules through Service API objects.
- The kube-proxy node agent operates with the iptables of the node.
- Iptables is a firewall utility created for the Linux OS
4. Add-ons
- Add-ons
- are cluster features not yet available in Kubernetes, therefore implemented through 3rd-party services.
- Cluster DNS
- is a DNS server required to assign DNS records to Kubernetes objects and resources.
- Dashboard -
- A general purpose web-based user interface for cluster.
- Monitoring -
- Collects cluster-level metrics and saves them to a central data store.
- Logging
- Collects cluster-level container logs and saves them to a central log store for analysis.