✦ For everyone, free.

Practical knowledge for real and everyday life

Home

1.4 Kubernetes Node Definition

A Kubernetes Node is a worker machine, either virtual or physical, that runs containerized applications managed by the Kubernetes control plane.

Kubernetes Node Definition is the precise characterization of a node as any machine, physical or virtual, that has been registered with a cluster's control plane and runs the components necessary to receive workload assignments and execute containers on its behalf, contributing its capacity to the cluster's shared resource pool.


What Qualifies as a Node

Registration with the Control Plane

A machine becomes a node only once it has registered itself with the cluster's control plane, typically by running the kubelet agent configured to communicate with that specific control plane; a machine running the necessary software but never registered is not considered part of the cluster.

Minimum Required Components

At a minimum, a node must run a kubelet to communicate with the control plane and receive Pod assignments, and a container runtime to actually execute the containers described in those assignments; a machine lacking either component cannot function as a node even if it is otherwise reachable on the network.

Node = Machine + kubelet + runtime

The Node Object

A Representation Within the API

Once registered, a node is represented within the cluster as a Node object, exposing its capacity, allocatable resources, current conditions, and metadata such as labels, making it addressable and inspectable through the same API conventions used for every other Kubernetes resource.

Status as a Continuously Updated Record

A Node object's status is not static; it is continuously updated based on heartbeats and health information reported by the kubelet, allowing the control plane to detect when a node has become unreachable or unhealthy.


Nodes as Fungible Capacity

Contribution to a Shared Pool

Once part of a cluster, a node's individual identity becomes secondary to the capacity it contributes; the scheduler treats nodes largely as interchangeable placement targets, differentiated mainly by their available resources, labels, and any taints that restrict which workloads may run on them.

Distinguishing Nodes Through Labels and Taints

While nodes are broadly fungible, labels and taints allow specific nodes or groups of nodes to be distinguished for specialized purposes, such as reserving certain nodes for workloads requiring particular hardware.


Boundaries of the Node Definition

Nodes Are Not the Control Plane

A machine hosting control plane components is, by convention, still often represented as a node within the cluster's object model, but its role is functionally distinct from a worker node whose sole purpose is to run application workloads.

A Node Without the Kubelet Is Not a Node

If the kubelet process on a machine stops running or becomes unresponsive for an extended period, the control plane will mark that node as unhealthy and eventually treat it as unavailable for scheduling, illustrating that node status is a function of active participation, not merely physical presence.


Node Structure Diagram

Node kubelet Container runtime