A Kuber­netes node is a single working node in a Kuber­netes cluster that consists of in­fra­struc­ture com­pon­ents on which container workloads (pods) run. Nodes provide the necessary resources such as computing power and memory.

Defin­i­tion of a Kuber­netes node

Nodes are essential building blocks in a Kuber­netes cluster. Each node rep­res­ents a physical or virtual machine and provides resources such as CPU, memory and storage space. These nodes work together to host and manage the container workloads. They perform tasks such as starting, mon­it­or­ing and scaling con­tain­ers to ensure ap­plic­a­tions run smoothly.

Kuber­netes nodes are flexibly scalable as they can be added or removed as required. They support efficient resource util­isa­tion and adapt dy­nam­ic­ally to the re­quire­ments of running ap­plic­a­tions. In addition, the dis­tri­bu­tion of nodes across different servers promotes the re­si­li­ence of the cluster. Smart co­ordin­a­tion via Kuber­netes Rep­lica­Se­ts and Kuber­netes Dae­mon­Sets allows container ap­plic­a­tions to be managed securely and easily.

Image: Diagram of a cluster with Kubernetes nodes
Diagram of a Kuber­netes cluster

Node status

The node status provides in­form­a­tion about the status of a working node in the Kuber­netes cluster. It shows whether the node is func­tion­ing properly and is able to host pods.

  • Addresses: The addresses of a node provide insight into its ac­cess­ib­il­ity in the network. This includes IP addresses, host names and ports. A node can have several addresses, and these are crucial for com­mu­nic­a­tion within the cluster.
  • Con­di­tions: The con­di­tions reflect the current health status of the Kuber­netes node. Typical con­di­tions include Ready, OutOfDisk (lack of space), Memory­Pres­sure and DiskPres­sure (hard disc pressure). These messages indicate whether nodes are op­er­a­tion­al or whether there are certain resource shortages.
  • Capacity: The capacity of a node refers to the available resources such as CPU, RAM and hard disc space. This in­form­a­tion is important when it comes to un­der­stand­ing how much workload a node can handle. Kuber­netes uses this data to decide where to place con­tain­ers based on resource re­quire­ments.
  • Info: The in­form­a­tion section can contain ad­di­tion­al details about the node, for example, the operating system, the kernel or kubelet version and other metadata.
Tip

With managed Kuber­netes from IONOS, you can easily or­ches­trate container ap­plic­a­tions in dis­trib­uted pro­duc­tion en­vir­on­ments. Benefit from security, trans­par­ency and control during operation, all with minimal ad­min­is­trat­ive effort.

Node heartbeat

Heart­beats peri­od­ic­ally send status in­form­a­tion to the Kuber­netes master. These status updates are used to inform the master that the node is still available and ready for use.

In the context of Kuber­netes, there are two forms of heart­beats for nodes:

  • Updates to the .status of a node: These are regular status updates that a node sends to the Kuber­netes master. The status contains in­form­a­tion about the avail­ab­il­ity and status of the node.
  • Lease objects in the namespace kube-node-lease: Each node is linked to a lease object in the kube-node-lease namespace. A lease object is es­sen­tially a type of lease agreement that is sent from the node to the master. This lease confirms that the node is still active and is using resources in the cluster.

Kuber­netes node man­age­ment

The three main com­pon­ents that form the node man­age­ment in a Kuber­netes cluster are the node con­trol­ler, kubelet and the command line tool kubectl.

Node con­trol­ler

The node con­trol­ler is a core component of Kuber­netes that is re­spons­ible for managing nodes. It monitors the heart­beats in the form of status updates and lease objects to ensure that the nodes are running smoothly. If the node con­trol­ler detects that a node is no longer active and no heart­beats are being received, it can take ap­pro­pri­ate action, such as re-schedul­ing pods on other available nodes. The node con­trol­ler therefore plays a pivotal role in main­tain­ing the avail­ab­il­ity and integrity of the node pool in the Kuber­netes cluster.

Kubectl

kubectl is a command line tool that allows users to interact with a Kuber­netes cluster. With kubectl you can send commands to the Kuber­netes master to create, monitor, update and delete resources in the cluster. This tool is versatile and allows you to manage de­ploy­ments, services, pods, Con­figMaps and other Kuber­netes objects.

Kubelet

Kubelet is present on every Kuber­netes node in the cluster and is re­spons­ible for com­mu­nic­a­tion between the node and the master. The main task of the kubelet is ensuring that container pods are started, monitored and ter­min­ated according to the in­struc­tions of the Kuber­netes master.

In the Kuber­netes tutorial, we’ll show you how to set up your own Kuber­netes cluster.

IONOS Cloud Managed Kuber­netes
Container workloads in expert hands

The ideal platform for demanding, highly scalable container ap­plic­a­tions. Managed Kuber­netes works with many cloud-native solutions and includes 24/7 expert support.

Go to Main Menu