When CSI driver is enabled, built-in in-tree driver(
kubernetes.io/azure-disk
) should not be used any more since there is potential race condition when both in-tree and CSI drivers are working.
- Prerequisites
AKS cluster is created with user assigned identity(with naming rule AKS Cluster Name-agentpool
) on agent node pool by default, make sure that identity has Contributor
role on node resource group, follow below instruction to set up Contributor
role on node resource group
least privilege for CSI driver controller
"Microsoft.Resources/subscriptions/resourceGroups/read", "Microsoft.Compute/disks/*", "Microsoft.Compute/snapshots/*", "Microsoft.Compute/virtualMachines/*/read", "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/write", "Microsoft.Compute/virtualMachineScaleSets/*/read", "Microsoft.Compute/virtualMachineScaleSets/read"
- Install CSI driver
install latest released CSI driver version, following guide here
- Set up new storage classes
kubectl create -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/storageclass-azuredisk-csi.yaml
follow guide here to replace built-in storage classes on AKS