Skip to content

Upgrading the RBLN NPU Operator

This document explains how to upgrade the operator chart, which manages all RBLN components, to a newer version. For driver version rollout (the RBLNDriver lifecycle), see NPU Driver Upgrade Workflow.

Performing an Upgrade

Operator upgrades involve two steps:

  1. Apply the updated CRDs. Helm does not update CRDs during an upgrade; it installs them only during the initial install.
  2. Run helm upgrade.

Apply CRDs first when schema changes

If the new release includes CRD schema changes, you must apply the updated CRDs (step 1) before running helm upgrade. Otherwise, schema validation can fail or new fields can be omitted.

1. Apply the updated CRDs

Pin the release tag and apply the two CRDs managed by the chart: RBLNClusterPolicy and RBLNDriver. --server-side is required because of CRD size and field ownership constraints:

1
2
3
4
5
$ kubectl apply --server-side --force-conflicts -f \
  https://raw.githubusercontent.com/RBLN-SW/rbln-npu-operator/v0.4.0/config/crd/bases/rebellions.ai_rblnclusterpolicies.yaml

$ kubectl apply --server-side --force-conflicts -f \
  https://raw.githubusercontent.com/RBLN-SW/rbln-npu-operator/v0.4.0/config/crd/bases/rebellions.ai_rblndrivers.yaml

Use the same tag for both CRDs and the chart version in the next step.

2. Run helm upgrade

Run helm upgrade against the same release name and namespace used during installation. Pin the new version explicitly so the upgrade is reproducible:

1
2
3
4
$ helm upgrade rbln-npu-operator \
     oci://docker.io/rebellions/rbln-npu-operator-chart \
     --version ${RELEASE_TAG} \
     --namespace rbln-system

To keep the custom Helm values used during installation, pass -f my-values.yaml or reapply the same --set overrides.

Available version tags are listed on the chart page on Docker Hub.