Uninstalling the RBLN NPU Operator¶
Remove the Helm or OLM resources for your installation. Replace the example resource names and rbln-system with your installation's values.
1. Stop workloads and identify resources¶
Check NPU workloads for each allocation method in use.
Check Pods that reference NPU claims.
List VMs and VMIs that request host devices. Identify entries that use rebellions.ai/ resources or NPU claims. Claim references have a claim: prefix.
For DRA, also check the NPU claims referenced by the VM's resourceClaims.
Stop Pods and VMs that use NPUs. For Pods managed by a Deployment, Job, or another controller, stop the workload first so the Pods are not recreated.
After stopping the workloads, identify the RBLNClusterPolicy and RBLNDriver instances to remove.
$ kubectl get rblnclusterpolicy \
-o 'custom-columns=NAME:.metadata.name,STATE:.status.state'
NAME STATE
rbln-cluster-policy ready
$ kubectl get rblndriver \
-o 'custom-columns=NAME:.metadata.name,STATE:.status.state,READY:.status.readyNodes,DESIRED:.status.desiredNodes'
NAME STATE READY DESIRED
rbln-driver-rebel100 ready 1 1
$ kubectl get rblnclusterpolicy \
-o 'custom-columns=NAME:.metadata.name,STATE:.status.state'
NAME STATE
rbln-cluster-policy ready
$ kubectl get rblndriver \
-o 'custom-columns=NAME:.metadata.name,STATE:.status.state,READY:.status.readyNodes,DESIRED:.status.desiredNodes'
NAME STATE READY DESIRED
rbln-driver-atom ready 1 1
2. Remove the installation¶
Run the commands for your installation method.
Uninstall the Helm release. This also deletes the RBLNDriver and RBLNClusterPolicy instances created by the chart.
Delete the RBLNDriver instances identified in step 1.
Host-installed drivers
Skip this command if you use a host-installed driver and have no RBLNDriver instance.
Specify the Subscription to remove and the OperatorGroup dedicated to this Operator. Delete the Subscription and its associated CSV.
After removing the Operator, delete the RBLNClusterPolicy instance.
3. Verify resource removal¶
Check for remaining Operator-managed resources.
$ kubectl get pods,daemonsets,deployments -n rbln-system
No resources found in rbln-system namespace.
$ kubectl get rblnclusterpolicies,rblndrivers
No resources found
$ kubectl get clusterroles,clusterrolebindings \
-l app.kubernetes.io/instance=rbln-npu-operator
No resources found
Confirm that the managed components and CRs have been deleted. For Helm installations, no RBAC resources with the release label should remain. See NPU Feature Discovery cleanup for node labels and feature files.
Additional cleanup (optional)¶
Delete only dedicated resources
Do not delete CRDs or namespaces used by other installations. Deleting a namespace also removes its PVCs and Secrets.
Remove CRDs¶
Check for remaining instances.
Delete the CRDs only when no instances remain and the CRDs are no longer needed.