Urgent.News

What's breaking now, across thousands of outlets.

Tech

Kubernetes Architecture

Control Plane (Master) & Worker Nodes Control Plane components: API Server Scheduler Control Manager etcd Worker Node components: Container Runtime Kubelet Kube-proxy Node Processes Each node has multiple Pods on it. 3 processes must be installed on every node — used to schedule and manage those Pods. Nodes are cluster services that actually do the work. Container Runtime Examples: Docker,…

In a Kubernetes cluster, there are two main components: the Control Plane (Master) and Worker Nodes. The Control Plane consists of several key processes that manage the cluster. These include the API Server, Scheduler, Controller Manager, and etcd. The Worker Nodes, on the other hand, are responsible for running the applications, known as Pods, within the cluster.

Each Worker Node has three essential processes running: Container Runtime, Kubelet, and Kube-proxy. Container Runtime, such as Docker, containerd, or CRI-O, is responsible for running the containers inside the node. Kubelet is the process that schedules the Pods and containers, interacting with both the container and the node to ensure the Pod is always running. Kube-proxy handles the forwarding of requests from Pods to Services, enabling load balancing and allowing communication between nodes.

When you want to deploy a new application in a Kubernetes cluster, you interact with the API Server, which is the cluster gateway. The API Server receives the initial request to update the cluster, checks the request for validation, and then hands it off to other processes for further action. This includes scheduling new Pods, deploying new applications, creating new services, or managing any other cluster components.

The Scheduler is responsible for deciding where to place a new Pod on one of the Worker Nodes. It analyzes the resource requirements of the Pod, such as CPU usage and storage, and chooses a node that can accommodate those needs. The Scheduler then hands off the decision to Kubelet, which actually starts the scheduling with containers.

In the event of a Pod failure on any node, the Controller Manager detects the change in the cluster state and attempts to recover the cluster state as quickly as possible. This is done by rescheduling the Pod to another node, ensuring the cluster remains stable and operational.

The etcd database serves as the cluster brain, storing cluster data in the form of a key-value store. It keeps track of cluster changes, such as when a Pod dies or is restarted, and ensures the overall health of the cluster. However, it does not store actual application data.

To interact with a Kubernetes cluster, users send requests to the API Server using a client, such as a UI or CLI. The API Server validates these requests and forwards them to the appropriate processes for further processing. The Scheduler is the first entry point for scheduling new Pods, while the Controller Manager ensures that any cluster state changes are promptly addressed.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

React at 1000Hz: Optimizing Real-Time Performance

The Performance Wall: Why React Isn't a Data Buffer If you’ve ever built a real-time application—a trading dashboard, a crypto ticker, or a live sensor monitor—you’ve likely hit the "React Performance…

More from Sunday 23 August →