> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ankra.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Kubernetes Nodes

> Inspect a node's health, capacity, placement, GPUs and cached images, and act on it

> [!NOTE]
>
> The node page answers "what is this machine, is it healthy, and what can it run?" in one screen - including the accelerator on a GPU node.

## Accessing nodes

Navigate to your cluster and click **Kubernetes → Nodes** in the sidebar, then click a node. The same page is reachable from the cluster overview's node table and the Command Palette (`⌘+K`).

From the CLI, list the nodes or describe one node with its events:

```bash theme={null}
ankra cluster get nodes
ankra cluster describe node <name>
```

***

## The node header

Chips carry state, the fact strip carries identity:

* **Readiness** - `Ready`, `NotReady` or `Unknown` from the kubelet's `Ready` condition, plus **Scheduling disabled** when the node is cordoned.
* **Role** - `Worker`, `Control Plane` or any other `node-role.kubernetes.io/*` label.
* **Accelerator** - on a GPU node, the GPU count and product (`1× NVIDIA H100 80GB HBM3`).
* **Age, instance type, location (provider · region · zone), node group, kubelet version and internal IP.**

Everything that describes the host itself (operating system, kernel, runtime, architecture, addresses) lives in the **Host** card below.

The **⋯ Actions** menu holds cordon, uncordon, drain and delete.

***

## Overview tab

### Stat tiles

One figure per tile, always the **allocatable** amount: **CPU**, **Memory**, **GPU** (only on accelerator nodes), **Storage** and **Pods** - the last one counts the pods placed on the node against its `pods` capacity. Capacity and the kubelet's reservation are in the **Allocatable** card.

### Accelerator

When a node advertises a GPU resource (`nvidia.com/gpu`, an `nvidia.com/mig-*` profile, `amd.com/gpu`, `gpu.intel.com/*`, `habana.ai/gaudi`) or carries NVIDIA GPU Feature Discovery labels, an **Accelerator** card appears under the tiles. On an NVIDIA node it reads the labels the GPU operator stamps on the node:

| Fact | Source label |
| - | - |
| Product, family, compute capability | `nvidia.com/gpu.product`, `nvidia.com/gpu.family`, `nvidia.com/gpu.compute.*` |
| GPU count and memory per GPU | `nvidia.com/gpu.count`, `nvidia.com/gpu.memory` |
| CUDA driver and runtime | `nvidia.com/cuda.driver-version.full`, `nvidia.com/cuda.runtime-version.full` (or the legacy split `cuda.driver.*` / `cuda.runtime.*` labels) |
| Sharing | `nvidia.com/gpu.sharing-strategy` and `nvidia.com/gpu.replicas` (time-slicing, MPS), `nvidia.com/mig.*` (MIG capability, strategy, active profile and its state), `nvidia.com/mps.capable`, `nvidia.com/vgpu.present` |
| Driver upgrade | `nvidia.com/gpu-driver-upgrade-state` and the `nvidia.com/gpu-driver-upgrade-enabled` annotation |
| GPU operator components | every `nvidia.com/gpu.deploy.*=true` label |

The card leads with the five facts that decide what can run: GPU count × memory, CUDA driver, CUDA runtime, sharing strategy and (on MIG-capable parts) the MIG configuration. **More details** reveals MPS and vGPU capability, the driver-upgrade state, compute mode, machine type, when discovery last ran, the operator components deployed, and how many GPUs the device plugin currently advertises as allocatable.

A node whose driver is still installing shows **Not advertised yet** - the labels are there but `nvidia.com/gpu` has no allocatable capacity, so nothing can be scheduled on it yet.

#### Live telemetry

With a [Prometheus metrics source](https://docs.ankra.ai/integrations/prometheus.md) connected, the Accelerator card reads the DCGM exporter the GPU operator ships and shows, per GPU: utilisation, framebuffer in use, temperature, power draw, SM clock, memory bandwidth, the last XID error if there is one, and the pod currently attached to the GPU. A **GPU workloads** list underneath names every pod on the node requesting a GPU resource, linked to its pod page.

The queries match DCGM series on the node's `Hostname` label (the GPU operator sets it from the node name), falling back to `kubernetes_node` and `node` for scrape configurations that relabel it. If Prometheus is connected but has no DCGM series for the node, the card says so rather than showing empty gauges - check that the exporter's ServiceMonitor is being scraped.

### Conditions

One row per kubelet condition: a health dot, the condition, its reason and when it last changed. Pressure conditions (`MemoryPressure`, `DiskPressure`, `PIDPressure`, `NetworkUnavailable`) are healthy when `False` and a **Problem** when `True`; `Ready` is the other way round. Only a condition that needs attention shows its label and the kubelet's message; the card's subtitle says how many do.

### Host

Operating system, architecture, kernel and container runtime, every address the kubelet reports, the pod CIDR(s) and the cloud provider with its instance ID. **Identifiers** reveals the machine ID, system UUID, boot ID and full provider ID with one-click copy.

### Allocatable

Allocatable against capacity for every resource the node reports - CPU, memory, ephemeral storage, pods, huge pages and extended resources such as `nvidia.com/gpu` or MIG profiles - with a bar showing the share the scheduler can actually use.

### Scheduling

Whether the node is cordoned, and its taints with their effect (`NoExecute` is highlighted).

### Labels, annotations and cached images

Three collapsed panels at the end of the page, each with a count in its header:

* **Labels** grouped by prefix (`nvidia.com`, `feature.node.kubernetes.io`, `topology.kubernetes.io`, …). Large groups start collapsed; type in **Search labels** to find a key or value across every group, and click a label to copy `key=value`.
* **Annotations**, with copy and expand for long values.
* **Cached images** - what the kubelet has pulled, largest first, with the total on disk in the header.

***

## Pods tab

Every pod scheduled on the node with phase, readiness, restarts and age, with bulk delete. The tab badge shows the pod count.

***

## Metrics tab

The node's Metrics tab reads your connected Prometheus, not the built-in platform metrics. With a [Prometheus metrics source](https://docs.ankra.ai/integrations/prometheus.md) connected: CPU, memory, disk and network usage over the selected time range. On a GPU node a **GPU** section follows with utilisation, memory used, power draw and temperature charts per GPU.

Without a metrics source, the tab explains how to connect one.

***

## Manifest tab

The node's full manifest, editable in place.

***

## Related

* [Cluster metrics](https://docs.ankra.ai/platform/cluster-metrics.md) - built-in metrics and a connected Prometheus
* [Kubernetes Resources](https://docs.ankra.ai/platform/kubernetes-insights.md)
* [Managed Kubernetes](https://docs.ankra.ai/guides/managed-kubernetes.md) - node groups on cloud clusters


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.