Skip to content

RBLN NPU Feature Discovery

The RBLN SDK's NPU Feature Discovery automatically records information about the RBLN NPUs on each node as Kubernetes node labels. It uses Kubernetes Node Feature Discovery (NFD) to apply the labels.

Follow Installing the NPU Operator to prepare Kubernetes Node Feature Discovery and deploy RBLN NPU Feature Discovery. For label queries and Pod placement by NPU family, see the Schedule a Pod by NPU family tutorial.

Generated Labels

RBLN NPU Feature Discovery generates the following labels.

Note

In Kubernetes, label values are always strings. The "Value Type" column indicates the type represented within the string format.

Label Name Value Type Meaning Examples
rebellions.ai/driver-version.full String Full semantic version of the RBLN driver 3.5.1
rebellions.ai/driver-version.major Integer Major component of the RBLN driver’s semantic version 3
rebellions.ai/driver-version.minor Integer Minor component of the RBLN driver’s semantic version 5
rebellions.ai/driver-version.patch Integer Patch component of the RBLN driver’s semantic version 1
rebellions.ai/npu.count Integer Number of NPUs on the node, excluding physical functions that own SR-IOV virtual functions 2
rebellions.ai/npu.present Boolean Indicates the presence of RBLN NPUs on the node true, false
rebellions.ai/npu.product String Product name of the NPU RBLN-CA22, RBLN-CR13

NPU Product Family Label

The RBLN NPU Operator applies rebellions.ai/npu.family through a NodeFeatureRule named rbln-npu-family, deriving the value from the PCI device ID. NPU Feature Discovery does not produce this label.

Label Name Value Type Meaning Examples
rebellions.ai/npu.family String NPU product family, applied by the operator in lowercase atom

Node Information Cleanup After Removal

Remove the Operator and stop all Rebellions feature-discovery instances on the node before cleaning up their feature file. Check that no other installation uses the file. Then remove only that file on the worker host:

sudo rm -f /etc/kubernetes/node-feature-discovery/features.d/rbln-features

If the file remains, NFD can recreate the hardware and driver version labels. Keep NFD itself and other vendors' feature files. From a terminal where you run kubectl, remove the outdated labels from the affected node:

NODE=<NODE_NAME>
kubectl label node "$NODE" \
  rebellions.ai/npu.present- rebellions.ai/npu.count- \
  rebellions.ai/npu.product- rebellions.ai/npu.family- \
  rebellions.ai/driver-version.full- rebellions.ai/driver-version.major- \
  rebellions.ai/driver-version.minor- rebellions.ai/driver-version.patch- \
  rebellions.ai/driver-version.revision-
kubectl get node "$NODE" -o json | jq '
  .metadata | {labels: (.labels | with_entries(select(.key | startswith("rebellions.ai/")))),
    annotations: ((.annotations // {}) | with_entries(select(.key | startswith("rebellions.ai/"))))}'

Also review any driver-upgrade state labels and annotations left by an interrupted upgrade. Remove only keys belonging to the removed installation. Preserve the node's original cordon state. Do not bulk-delete all rebellions.ai/* keys when other Rebellions components or administrator policies still use them.