Skip to content

3.4. Nodes (Node Management)

Overview

The Nodes page manages the nodes of every member cluster registered with the MCM control plane in one place. You can take in and monitor node status, resource usage, and role information per cluster at a glance.

What it is for:

  • Monitoring multi-cluster nodes together
  • Filtering and searching nodes per cluster
  • Checking node status and resource usage
  • Identifying and managing GPU nodes
  • Diagnosing and analysing node problems

How the Screen Is Laid Out

The node management page comes in two forms, a table view and a grid view.

1. Table View

The default form, showing the node list as a table.

The node table view

The Elements at the Top of the Page

ElementDescription
Cluster filterShows only the nodes of a particular cluster
View switch buttonsSwitch between grid view and table view
Refresh buttonRefreshes the node list
Search boxSearches by node name

Table Columns

ColumnDescriptionSortable
NameThe node hostname
ClusterThe cluster the node belongs to
StatusReady / Not Ready
Rolemaster, worker, control-plane, etcd, infra and so on
TaintsThe number of taints set on the node
Internal IPThe node's internal IP address
CPUCPU usage and utilisation (with a progress bar)
MemoryMemory usage and utilisation (with a progress bar)
PodsCurrent pods / maximum pods
GPUGPU information (shown as NVIDIA where present)
Kubelet VersionThe Kubelet version
AgeThe time since the node was created

The Format Resource Usage Is Shown In

usage / allocatable (utilisation%)

For example 2.1 Core / 72 Core (2.9%)

  • Actually used: 2.1 cores
  • Allocatable: 72 cores
  • Utilisation: 2.9%

2. Grid View (Cards)

Shows the nodes as cards so they can be taken in visually.

The node grid view

How a Node Card Is Laid Out

Each node card shows:

ElementDescription
Node nameThe node hostname
Status badgeReady (green) / Not Ready (red)
ClusterThe name of the cluster the node belongs to
Role badgesmaster, worker, control-plane, etcd and so on
GPU badgeFor a GPU node, shows NVIDIA and the GPU count
Internal IPThe node's internal IP address
Kubelet VersionThe Kubelet version
OS ImageThe operating system (Rocky Linux 9.5, for example)
CPUUsage / allocatable (utilisation%)
MemoryUsage / allocatable (utilisation%)
PodsCurrent + Karmada pods / maximum (utilisation%)
TaintsThe taints (shown for a not-ready node)

3. The Cluster Filter

Lets you filter the view to the nodes of particular clusters.

The cluster filter
  • One or more clusters can be chosen from the dropdown
  • Several clusters can be chosen at once with the checkboxes
  • Clearing the filter shows the nodes of every cluster

Node Detail

Clicking a node card or a table row opens the detail panel.

Node detail

The Detail Panel Header

ElementDescription
Node nameThe hostname of the chosen node
Status badgeReady / Not Ready
Cluster badgeThe cluster the node belongs to
Refresh buttonRefreshes the node information

The Tabs

The Overview Tab

Shows the node's basic information, resource usage, and system information.

Basic information:

ItemDescription
NameThe node hostname
ClusterThe cluster the node belongs to
StatusReady / Not Ready
Internal IPThe node's internal IP address
HostnameThe node hostname
UnschedulableWhether scheduling is possible (Yes/No)
Pod CIDRThe pod CIDR assigned to the node
AgeThe time since the node was created
CreatedWhen the node was registered

Resources:

ItemWhat is shown
CPUUsage / allocatable (utilisation%), with a progress bar
MemoryUsage / allocatable (utilisation%), with a progress bar
PodsCurrent / capacity (utilisation%), with the failed pod count
GPUThe GPU count, or "No GPU"

System information:

ItemDescription
OS ImageThe operating system image (Rocky Linux 9.5, for example)
Kernel VersionThe Linux kernel version
Container RuntimeThe containerd or docker version
Kubelet VersionThe Kubelet version
Kube Proxy VersionThe Kube Proxy version
Operating SystemOS/architecture (linux/amd64, for example)
Machine IDThe node machine ID
System UUIDThe node system UUID

The Conditions Tab

Shows the node's status conditions:

  • Ready: whether the node is healthy
  • MemoryPressure: whether memory is short
  • DiskPressure: whether disk is short
  • PIDPressure: whether PIDs are short
  • NetworkUnavailable: whether there is a network problem

The Taints Tab

Shows the taints set on the node:

  • The taint key
  • The taint value
  • The taint effect (NoSchedule, NoExecute, PreferNoSchedule)

The Labels Tab

Shows the list of Kubernetes labels applied to the node.

The Annotations Tab

Shows the list of annotations applied to the node.

The Pods Tab

Shows the list of pods running on that node.

The Events Tab

Shows the Kubernetes events related to the node.

Node Status

Status Types

StatusDescriptionHow it is shown
ReadyThe node is working normallyA green badge
Not ReadyThe node has a problemA red badge

What a Not-Ready Node Looks Like

A not-ready node shows these traits:

  • The status badge is red
  • Resource usage may show as 0
  • The node.kubernetes.io/unreachable taint is applied automatically
  • NoSchedule and NoExecute effects block new pods being scheduled

Node Roles

RoleDescription
masterA Kubernetes master node
control-planeA node running control plane components
etcdAn etcd cluster member node
workerA node running workloads
infraA node for infrastructure components

Note: one node can hold several roles (master, control-plane, and etcd, for example).

GPU Nodes

A node with GPUs is shown as follows:

  • Table view: shown in the GPU column as "N NVIDIA" (N being the GPU count)
  • Grid view: a GPU badge beside the role badges
  • Detail panel: the GPU count in the GPU section

Worked Examples

Scenario 1: Checking Nodes per Cluster

  1. Click the cluster filter dropdown
  2. Choose the cluster you want to check
  3. Only that cluster's nodes are listed
  4. Check the status and resources of each node

Scenario 2: Diagnosing a Not-Ready Node

  1. Find the nodes with a "Not Ready" status in the list
  2. Click that node to open the detail panel
  3. Check which condition is False on the Conditions tab
  4. Check the automatically applied taint on the Taints tab
  5. Check the related events on the Events tab
  6. Resolve the node problem on that cluster

Scenario 3: Monitoring Resource Usage

  1. Sort by the CPU or Memory column in the table view
  2. Identify the nodes with high utilisation (visible from the progress bars)
  3. Click a node for its detail if needed
  4. Check which pods use a lot of resources on the Pods tab
  5. Consider redistributing workloads or growing the nodes if needed

Scenario 4: Managing GPU Nodes

  1. Identify the GPU nodes by checking or sorting the GPU column
  2. Check the resource usage of the GPU nodes
  3. Check the GPU information on the node detail page if needed
  4. Use it when placing GPU workloads

Scenario 5: Searching for a Node

  1. Type the node name in the search box
  2. The matching nodes are filtered
  3. Click the node you want for its detail

Node Taints

A taint is the mechanism that stops particular pods being scheduled on a node:

  • NoSchedule: stops new pods being scheduled
  • NoExecute: evicts existing pods as well
  • PreferNoSchedule: avoids scheduling where possible (not enforced)

A not-ready node automatically receives the node.kubernetes.io/unreachable taint.

Node Resources

  • Allocatable: the resources actually available to pods
  • Capacity: the node's total resource capacity
  • Usage: the resources currently in use

Karmada Pods

In the pod figure, the number after the "+" is the number of pods Karmada manages:

15 + 4 / 110 (17%)
  • 15: ordinary pods
  • 4: Karmada-related pods
  • 110: the maximum pod count
  • 17%: overall utilisation

Next Steps