Skip to content

RBLN NPU Operator

The rbln-npu-operator deploys and manages the Rebellions software components needed to use RBLN NPUs in Kubernetes and OpenShift clusters. A single RBLNClusterPolicy custom resource manages the cluster-wide configuration. When you create this resource, the operator automatically:

  • Detects hardware and labels nodes using Node Feature Discovery (NFD)
  • Exposes devices for two workload modes: container and VM passthrough
  • Installs and maintains the NPU driver through the Driver Manager (configured by the RBLNDriver custom resource)
  • Deploys and manages the components required to use NPUs in Kubernetes
  • Configures RBAC/SCC for both OpenShift and standard Kubernetes

For installation, upgrade, removal, and related operator guides, see:

Core Components

The following table summarizes the key components that the operator deploys and manages.

Component Description
Device Plugin Exposes NPU resources such as rebellions.ai/npu so Pods can request the device through resources.limits.
NPU DRA Driver Allocates NPUs through Kubernetes Dynamic Resource Allocation (DeviceClass / ResourceSlice / ResourceClaim). Cannot be enabled together with the Device Plugin.
Sandbox Device Plugin Exposes a VFIO resource per NPU product, such as rebellions.ai/RBLN-CA25_PF, for VM passthrough in KubeVirt environments.
VFIO Manager Binds RBLN PCI devices to vfio-pci for VM passthrough through either the Sandbox Device Plugin or DRA Driver.
Driver Manager Reconciles the kernel driver, UMD libraries, and rbln-smi on each node according to the RBLNDriver custom resource.
RSMD RSMD (Rebellions System Management Daemon) runs as the rbln-smd node daemon that NPU workloads communicate with on host port 50051. Each RBLNDriver deploys it and pins it to the driver version.
NPU Product Family NodeFeatureRule The operator manages a NodeFeatureRule named rbln-npu-family that derives each node's NPU product family from the PCI device ID and writes it to rebellions.ai/npu.family. The label determines the driver node pool.
NPU Feature Discovery Detects RBLN PCI devices (vendor 1eff) and applies attributes such as rebellions.ai/npu.present, rebellions.ai/npu.count, and rebellions.ai/npu.product as node labels.
Container Toolkit Generates CDI specifications and configures the container runtime so the Device Plugin and workloads can use CDI-based device injection.
Metrics Exporter Exports NPU telemetry (utilization, temperature, DRAM, power) in Prometheus format.
Operator Validator Verifies driver and Container Toolkit readiness on each node and writes a readiness state file through hostPath that other components depend on.
Operator Manager Reconciles the RBLNClusterPolicy and RBLNDriver CRDs and orchestrates the components listed in this table.