Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Use this article for the managed extension installed with az aks create or az aks update and --enable-azure-managed-lustre or --enable-amlfs. For a driver installed with Helm or a script, use Upgrade or uninstall the Azure Managed Lustre CSI driver instead.
Important
Match the removal method to the installation method. Don't use Helm or the cleanup script against an extension-managed driver, or use the AKS disable option to remove a Helm or script installation.
Upgrade an AKS CLI installation (preview)
There's no direct, in-place upgrade path for the managed extension. To upgrade, you must disable the extension, wait for removal to complete, and then enable it again. Running the enable command while the extension is already installed preserves its configuration but doesn't upgrade or reinstall it. Don't use Helm or the cleanup script to manage an extension-installed driver.
The workload and volume precautions for a Helm upgrade also apply to this procedure. Plan a maintenance window and complete the following steps in order.
Important
Stop every workload that uses Lustre and confirm that no Lustre mounts remain on the nodes before disabling the extension. You can't replace the Lustre client kernel modules while a Lustre mount is active. Disabling the extension doesn't unmount existing volumes. Keep workloads stopped until the replacement driver is installed and verified.
Preserve persistent volumes (PVs), persistent volume claims (PVCs), and Azure Managed Lustre file systems during the upgrade. Don't run the volume-cleanup steps, which are for permanent removal. With reclaimPolicy: Delete, deleting a dynamically provisioned claim can also delete the file system and its data.
Confirm the CLI installation prerequisites. Record the installed extension version, configuration, and driver namespace, and back up data you need to preserve. Use the volume, claim, storage class, and pod inventory commands in Prepare for the upgrade, but skip the Helm-specific steps. Account for every Lustre claim, including claims with
Pendingstatus. Don't continue while a PV or PVC has a deletion timestamp or volume creation or deletion is in progress.Before scaling down StatefulSets, complete Protect StatefulSet claims. Set
whenScaledandwhenDeletedtoRetainfor affected StatefulSets and verify that the controller has reconciled the claims' owner references. Record the original replica counts and retention policies, and pause operators, autoscalers, and GitOps automation that could delete claims or undo the retention changes. Keep the StatefulSet controller and CSI driver running during these checks.Follow Stop workloads and inspect mounts. Use your extension's driver namespace and pod labels for the inspection commands. Keep the driver running until every workload stops and you verify that no Lustre mounts remain on every affected node. Don't continue if a workload pod is still terminating or a node can't be inspected.
Disable the extension with
az aks update --disable-azure-managed-lustre, and complete Verify removal. Confirm that the old CSI controller and node pods are gone before reinstalling. If retained volumes block removal, stop and contact Microsoft Support. Don't delete those volumes or remove finalizers to force the upgrade.Enable Azure Managed Lustre on the existing AKS cluster with
az aks update --enable-azure-managed-lustre. Follow the extension verification steps in that section and confirm that its provisioning state isSucceeded. Verify the installed extension and driver versions, and check that any required configuration is present; don't assume that disabling and re-enabling preserves custom settings.Verify that the CSI controller and node pods are ready and that every intended workload node has a ready CSI node pod. Check the loaded Lustre client version on each node against the requirements for the installed driver release. Keep workloads stopped if installation, readiness, or version checks fail.
Follow Restart workloads. Confirm that workloads reuse their original claims and file systems and that normal file operations succeed. Restore the original retention policies and resume automation only after StatefulSets are running at their intended replica counts and their mounts are verified. Don't restore a
Deletepolicy while a StatefulSet is still scaled down.
Uninstall with AKS CLI options (preview)
Important
The --disable-azure-managed-lustre option and its --disable-amlfs alias are preview features provided by the aks-preview Azure CLI extension. They are the matching removal options for installation with --enable-azure-managed-lustre or --enable-amlfs.
Before you begin
- Use the Azure CLI extensions described in Install with AKS CLI options (preview).
- Configure
kubectlfor the cluster. - Stop all workloads that use Lustre and let their volumes unmount.
- Clean up their Kubernetes volumes before removing the extension. Remaining volumes or mounts can prevent driver removal.
Clean up volumes
These cleanup steps are for permanent removal, not for an extension upgrade. Keep your PVs, PVCs, and file systems when upgrading.
Follow the cleanup steps for the provisioning method you used:
| Provisioning method | Cleanup behavior |
|---|---|
| Static provisioning | The example removes the pod, claim, retained PV, and storage class. The existing Lustre file system and its data remain. |
| Dynamic provisioning | With Delete, deleting the claim also deletes the provisioned file system and its data. With Retain, the PV and file system remain for manual cleanup. |
Save any data you need before deleting dynamically provisioned storage. Keep the extension installed until volume cleanup completes. Cleaning up the example resources alone isn't sufficient if other workloads still use Lustre.
Disable the extension
Set the resource group and cluster name:
RESOURCE_GROUP="myResourceGroup"
AKS_CLUSTER="myAKSCluster"
Disable Azure Managed Lustre on the cluster:
az aks update \
--resource-group "$RESOURCE_GROUP" \
--name "$AKS_CLUSTER" \
--disable-azure-managed-lustre
You can also use the --disable-amlfs alias.
Verify removal
List the cluster extensions:
az k8s-extension list \
--resource-group "$RESOURCE_GROUP" \
--cluster-name "$AKS_CLUSTER" \
--cluster-type managedClusters \
--output table
Confirm that the azurelustre extension is no longer listed. Driver removal can continue after the command finishes, so also confirm that the driver is no longer registered in the cluster:
kubectl get csidriver azurelustre.csi.azure.com
After removal, this command returns NotFound. If removal doesn't complete, check for workloads or volumes that still use Lustre and contact support if needed. Don't reinstall the extension until removal completes.
Disabling the extension doesn't itself delete Azure Managed Lustre file systems. Any file systems you retained continue to exist and incur charges until you delete them separately.