Skip to main content

Upgrade the Crusoe CSI driver

Crusoe CSI driver versions before v0.4.12 are deprecated and will become unsupported after November 8, 2026. If you're unsure whether your cluster is affected, start with Check your current driver version. Otherwise, skip to Upgrade the CSI driver to complete the upgrade procedure.

November 8, 2026 deprecation

warning

Crusoe CSI driver versions earlier than v0.4.12 are deprecated. Crusoe Managed Kubernetes (CMK) clusters that mount shared disks through the Crusoe CSI driver (fs.csi.crusoe.ai) should upgrade to CSI driver v0.4.12 or later (Helm chart 0.10.21+).

The upgrade itself is low-impact. Existing mounts and I/O continue uninterrupted; only disk control-plane operations (mount, unmount, attach, resize) pause for the 30–60 seconds the CSI driver pods take to restart, and Kubernetes retries those automatically, so a pod starting in that window mounts late rather than failing.

Starting with v0.4.12, the CSI driver resolves the NFS storage hostname itself and passes explicit IP addresses to the kernel NFS client, so mounts no longer depend on the node's DNS configuration. If in-driver resolution fails for any reason, the driver falls back to the previous behavior and lets the kernel resolve the hostname, so the upgrade introduces no new failure mode.

If your cluster runs in a private network without outbound internet access, the upgrade is required: v0.4.12 gets the storage IP addresses directly from the disk API and mounts without needing DNS. The older CSI driver versions (below v0.4.6) don't use the disks API for resolution and rely on static entries instead. The CSI upgrade is needed because customers on lower CSI versions may have mount issues such as mount.nfs: Protocol not supported, mount.nfs: Required key not available, and pods stuck in ContainerCreating.

Who is affected

Your cluster is affected if it meets all of the following:

  • Mounts a shared disk through the CSI driver (fs.csi.crusoe.ai).
  • Runs Crusoe Managed Kubernetes (CMK) with CSI driver v0.4.11 or older (Helm chart 0.10.20 or older).

Your cluster isn't affected if any of the following apply:

  • Already on CSI driver v0.4.12 or newer (Helm chart 0.10.21 or newer).
  • Uses only block or SSD volumes (csi.crusoe.ai).
  • Mounts shared disks manually over NFS from a VM (not through the CSI driver).

Check your current driver version

Before upgrading, verify the CSI driver version running on your cluster. Check the container image tags of the actual running pods instead of relying on helm list, which reports the chart's default app version and not the actual running image.

kubectl get ds,deploy -n crusoe-system \
-o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.template.spec.containers[*].image}{"\n"}{end}' \
| grep crusoe-csi-driver:

If any image tag is v0.4.11 or older, follow the steps below to upgrade the CSI driver to v0.4.12 or newer.

Prerequisites

Before you start the upgrade, confirm you have:

  • Access to the Crusoe CLI or Crusoe Console.
  • Valid Crusoe authentication credentials.
  • An existing CMK cluster with the Crusoe CSI driver installed.
  • Helm.
note

The Crusoe CSI driver is only supported on CMK. Other configurations are supported on a best-effort basis.

Service impact during upgrade

Review the expected impact before you start the upgrade:

  • Existing mounts aren't affected during the upgrade.
  • I/O doesn't interrupt during the upgrade.
  • Disk control plane operations (mount, unmount, resize) are temporarily disrupted during the upgrade because the CSI driver pods handle these operations. The CSI pods restart as part of the upgrade process.
info

It's your responsibility to periodically update add-ons in your cluster to ensure continued compatibility, performance, and access to the latest features. During the upgrade process, you might see intermittent issues with volume attachment, detachment, mounting, or creation until the new CSI pods are fully up and running.

Upgrade the CSI driver

Complete the four steps below to upgrade the CSI driver with Helm.

1. Ensure the CSI driver Helm repo is installed and up-to-date

  1. Check if the CSI driver chart already exists:

    helm repo list | grep csi-driver
    • If the Helm repo is already present, update it to the latest version:

      helm repo update crusoe-csi-driver

      Output:

      Hang tight while we grab the latest from your chart repositories...
      ...Successfully got an update from the "crusoe-csi-driver" chart repository
      Update Complete. ⎈Happy Helming!⎈
    • If the Helm repo is absent, add it:

      helm repo add crusoe-csi-driver https://crusoecloud.github.io/crusoe-csi-driver-helm-charts/charts

      Output:

      "crusoe-csi-driver" has been added to your repositories
  2. Find the latest available Helm chart version:

    helm search repo crusoe-csi-driver

    Output:

    NAME CHART VERSION APP VERSION DESCRIPTION
    crusoe-csi-driver/crusoe-csi-driver 0.10.23 v0.4.13 A Helm chart for the Crusoe Cloud CSI Driver

2. Create override values for authentication

Create a YAML file named override_values.yaml with the following contents (do not replace any values):

crusoe:
secrets:
crusoeApiKeys:
# The Crusoe CSI Driver requires access to the Crusoe API in order to manage and mount Crusoe Storage Disks.
# It is expected that the secret will contain two keys at accessKeyPath and secretKeyPath containing
# the base64 encoded access key and secret key respectively.
secretName: "crusoe-secrets"
accessKeyPath: "CRUSOE_ACCESS_KEY"
secretKeyPath: "CRUSOE_SECRET_KEY"

3. Upgrade the Helm release

  1. Note the name of the CSI driver release:

    helm list -n crusoe-system

    Output:

    NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
    crusoe-csi-driver crusoe-system 2 2026-08-23 22:23:22.458459 -0700 PDT deployed crusoe-csi-driver-0.10.11 v0.4.4
  2. Upgrade the Helm release to the latest chart version:

    helm upgrade crusoe-csi-driver crusoe-csi-driver/crusoe-csi-driver --version 0.10.23 -f override_values.yaml -n crusoe-system

    Output:

    Release "crusoe-csi-driver" has been upgraded. Happy Helming!
    NAME: crusoe-csi-driver
    LAST DEPLOYED: Thu Sep 18 18:35:32 2025
    NAMESPACE: crusoe-system
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None

4. Verify the upgrade

  1. Verify the Helm release is installed with the latest chart version:

    helm list -n crusoe-system

    Output:

    NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
    crusoe-csi-driver crusoe-system 3 2026-08-24 17:20:10.155221 -0700 PDT deployed crusoe-csi-driver-0.10.23 v0.4.13
  2. Verify the CSI driver pods are up and running:

    kubectl get pods -n crusoe-system | grep csi

    Output:

    crusoe-csi-driver-fs-controller-7975568785-kpv6s 5/5 Running 0 2m41s
    crusoe-csi-driver-fs-node-dwjvr 3/3 Running 0 2m42s
    crusoe-csi-driver-fs-node-fgf7r 3/3 Running 0 2m34s
    crusoe-csi-driver-fs-node-nxxct 3/3 Running 0 2m37s
    crusoe-csi-driver-ssd-controller-5f8c6cb8b-zclsk 5/5 Running 0 2m41s
    crusoe-csi-driver-ssd-node-459c6 3/3 Running 0 2m37s
    crusoe-csi-driver-ssd-node-4dbx2 3/3 Running 0 2m41s
    crusoe-csi-driver-ssd-node-5tb2s 3/3 Running 0 2m34s

When all pods are running, your upgrade is complete.

Release notes and changelog

The following table summarizes notable driver releases. For the full history, see the crusoe-csi-driver Helm charts repository on GitHub.

VersionDateChange
v0.4.122026-06NFS hostname resolved in userspace instead of kernel DNS upcall.
v0.4.112026-06Shared FS allowed on all instance types and slice counts; removes virtiofs-era per-SKU gates
v0.4.92026-05Shared FS enabled on c2a and s2a CPU instances
v0.4.62026-04NFS mount target resolved dynamically from the disk API (dns_name / vips), removing hard-coded per-datacenter addressing; Kubernetes 1.34 sidecar compatibility
v0.4.52026-03NodeGetVolumeStats implemented; minimum version for kubelet_volume_stats_* metrics and PV capacity alerting
v0.4.32026-02DNS-based NFS mounting for ICAT datacenters (introduced in v0.4.2, activated by a flag-lookup fix in v0.4.3)
v0.4.02025-10NFS mount support for shared FS disks (previously virtiofs only); mode selected server-side per project
v0.3.32025-09Idempotent mounting; prevents duplicate-mount errors on retries
v0.3.22025-06Shared FS support on gb200-186gb.4x instances
v0.3.02025-05Breaking: auth flags renamed; --crusoe-csi-access-key / --crusoe-csi-secret-key to --crusoe-access-key / --crusoe-secret-key
v0.2.12025-05Driver-side error logging for all gRPC failures (debuggable from pod logs)
v0.1.92025-03Fix: volume detach no longer hangs when the node VM was already deleted; volumes were previously stuck and unreusable