Kubernetes Node: The Cluster's Worker Machine

A Kubernetes Node is a physical or virtual machine that runs Pods. The control plane manages the cluster; node components run the assigned workloads. A Node is the machine, while a Pod groups one or more containers that run together.
Why it exists
Kubernetes needs a way to represent and manage the underlying compute resources where applications actually run. Without the Node concept, there would be no way to represent individual servers in a cluster, track their health, or assign work to them. Nodes provide the concrete 'where' for the 'what' (Pods).
The mental model
Think of a Kubernetes cluster as a factory. The control plane is the factory manager, and the Nodes are the individual workers on the factory floor. Each worker (Node) has a certain capacity (CPU, memory, storage) and a set of tools (kubelet, container runtime). The manager (control plane) assigns tasks (Pods) to the workers best suited for the job.
How it works
A Node is a machine, either physical or virtual, that is part of a Kubernetes cluster. To become a Node, a machine must have a few key components installed. The most important are the kubelet, an agent that communicates with the control plane, and a container runtime like containerd, which is responsible for pulling and running container images. The control plane tracks the state of all Nodes, including their available resources and the Pods they are running. The scheduler component of the control plane decides which Node to run a new Pod on based on resource requests and other constraints.
When to use it
The Node is a core, unavoidable component of any Kubernetes cluster. You don't 'choose' to use Nodes; you provision them to build your cluster. You interact with them indirectly when deploying Pods, and directly when you need to perform maintenance, check resource usage, or troubleshoot issues on a specific machine. For example, you use kubectl describe node <node-name> to see its status, capacity, and running Pods.
When not to use it
You shouldn't think in terms of individual Nodes when you want your application to be resilient and scalable. The point of Kubernetes is to abstract away the underlying machines. Instead of targeting a specific Node, you define a Deployment and let the Kubernetes scheduler handle placing Pods on healthy Nodes. Manually assigning a Pod to a specific Node (using nodeName) is an anti-pattern unless you have a very specific need, like running a logging agent on every machine (which is better handled by a DaemonSet).
One canonical example
A common operation is adding capacity to a cluster. If your applications need more CPU, you add a new Node. In a cloud provider, this means provisioning a new virtual machine (e.g., an EC2 instance). Once the new machine is up and its kubelet is configured to talk to the control plane, it registers itself as a new Node. The scheduler immediately sees this new capacity and can start placing new Pods on it automatically.
Interview question
What is the fundamental role of a Kubernetes Node in the cluster's operation?
- a.To serve as the central brain that makes scheduling decisions and maintains cluster state.
- b.To provide the physical or virtual machine where application containers are executed and managed by the kubelet.Correct
- c.To ensure high availability and automatic failover for applications by replicating them across different zones.
- d.To define the logical grouping of related application components for scaling and networking purposes.
Why? this is the answer
The Node is the worker machine that runs application containers, with the kubelet agent communicating with the control plane. Option A describes the control plane's role, not an individual Node.
Just read this? Test yourself on what you have been reading.
Read the original → kubernetes.io
- #kubernetes
- #k8s
- #cluster
- #infrastructure
Put your scrolling time to good use
Learn one idea, try a quiz and save useful cards for revision. Tezvyn makes it easy to learn and stay current in your tech field, a few minutes at a time.
The iPhone app is on the way
We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.
Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.
We are hiring for this. Open roles that interview on kubernetes — each one lists the topics its interview covers.
See open roles