Friday, August 23, 2024

Worker Node – In Kubernetes Theory Points


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:

  1. Container Runtime 
  2. Node Agent - 
  3. kubelet Proxy - 
  4. 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.