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
RBLNDrivercustom 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:
- Installing the NPU Operator
- NPU Operator Tutorials
- Upgrading the NPU Operator
- Uninstalling the NPU Operator
- NPU Driver Installation
- NPU Driver Upgrades
- Running Multiple Driver Versions
- Workload Labeling by Node
- Sandboxed Workloads
- Operator Observability
- Helm Chart Configuration Reference
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. |