Driver Parameters

July 9, 2026 ยท View on GitHub

parameter names are case-insensitive

required permissions for CSI driver controller
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/disks/delete
Microsoft.Compute/diskEncryptionSets/read
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
Microsoft.Compute/snapshots/delete
Microsoft.Compute/virtualMachines/write
Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/write
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/read
Microsoft.Compute/locations/operations/read
Microsoft.Compute/locations/DiskOperations/read
Microsoft.Resources/subscriptions/resourceGroups/read
Microsoft.Resources/subscriptions/resourceGroups/*/read
# Those are needed only when the virtualMachine or virtualMachineScaleSets have these additional resources configured:
Microsoft.Compute/disks/beginGetAccess/action
Microsoft.KeyVault/vaults/deploy/action
Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
Microsoft.Network/applicationGateways/backendAddressPools/join/action
Microsoft.Network/applicationSecurityGroups/joinIpConfiguration/action
Microsoft.Network/loadBalancers/backendAddressPools/join/action
Microsoft.Network/loadBalancers/inboundNatPools/join/action
Microsoft.Network/loadBalancers/probes/join/action
Microsoft.Network/networkInterfaces/join/action
Microsoft.Network/networkSecurityGroups/join/action
Microsoft.Network/publicIPPrefixes/join/action
Microsoft.Network/virtualNetworks/subnets/join/action

Dynamic Provisioning

get an example

NameMeaningAvailable ValueMandatoryDefault value
skuNameazure disk storage account type (alias: storageAccountType)Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, PremiumV2_LRS
(Note: PremiumV2_LRS and UltraSSD_LRS only support None caching mode)
NoStandardSSD_LRS
kindmanaged or unmanaged(blob based) diskmanaged (dedicated, shared are deprecated)Nomanaged
fsTypeFile System Typeext4, ext3, ext2, xfs, btrfs on Linux, ntfs on WindowsNoext4 on Linux, ntfs on Windows
cachingModeAzure Data Disk Host Cache SettingNone, ReadOnly, ReadWrite
(ReadWrite caching mode is deprecated, PremiumV2_LRS and UltraSSD_LRS only support None caching mode)
NoReadOnly
locationspecify Azure region in which Azure disk will be created, region name should only have lower-case letter or digit number.eastus2, westus, etc.Noif empty, driver will use the same region name as current k8s cluster
resourceGroupspecify the resource group in which azure disk will be createdexisting resource group nameNoif empty, driver will use the same resource group name as current k8s cluster
DiskIOPSReadWriteUltraSSD, PremiumV2_LRS disk IOPS capabilityNo500 for UltraSSD
DiskMBpsReadWriteUltraSSD, PremiumV2_LRS disk throughput capabilityNo100 for UltraSSD
LogicalSectorSizeLogical sector size in bytes for Ultra disk. Supported values are 512 and 4096. 4096 is the default.512, 4096No4096
tagsazure disk tagstag format: key1=val1,key2=val2No""
diskEncryptionSetIDResourceId of the disk encryption set to use for enabling encryption at restformat: /subscriptions/{subs-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSet-name}No""
diskEncryptionTypeencryption type of the disk encryption setEncryptionAtRestWithCustomerKey(by default), EncryptionAtRestWithPlatformAndCustomerKeysNo""
writeAcceleratorEnabledWrite Accelerator on Azure Diskstrue, falseNo""
perfProfileBlock device performance tuning using perfProfilesnone, basic, advancedNonone
networkAccessPolicyNetworkAccessPolicy property to prevent anybody from generating the SAS URI for a disk or a snapshotAllowAll, DenyAll, AllowPrivateNoDenyAll
publicNetworkAccessEnabling or disabling public access to the underlying data of a disk on the internet, even when the NetworkAccessPolicy is set to AllowAllEnabled, DisabledNoDisabled
diskAccessIDARM id of the DiskAccess resource for using private endpoints on disksNo``
enableBurstingenable on-demand bursting beyond the provisioned performance target of the disk. On-demand bursting can only be applied to Premium disk, disk size > 512GB, Ultra & shared disk is not supported. Bursting is disabled by default.true, falseNofalse
enablePerformancePlusenabling performance plus, this setting only applies to Premium SSD, Standard SSD and HDD with disk size > 512GB.true, falseNofalse
attachDiskInitialDelaysetting a large number for the initial delay in milliseconds for batch disk attach/detach could reduce the number of operations and ARM throttlingNo1000
useragentUser agent used for customer usage attributionNoGenerated Useragent formatted driverName/driverVersion compiler/version (OS-ARCH)
subscriptionIDspecify Azure subscription ID in which Azure disk will be createdAzure subscription IDNoif not empty, resourceGroup must be provided
  • disk created by dynamic provisioning
    • disk name format (example): pvc-e132d37f-9e8f-434a-b599-15a4ab211b39

    • tags format (example):

      k8s-azure-created-by: kubernetes-azure-dd
      kubernetes.io-created-for-pv-name: pvc-e132d37f-9e8f-434a-b599-15a4ab211b39
      kubernetes.io-created-for-pvc-name: pvc-azuredisk
      kubernetes.io-created-for-pvc-namespace: default
      

Static Provisioning (bring your own Azure Disk)

get an example

NameMeaningAvailable ValueMandatoryDefault value
volumeHandleAzure disk URI/subscriptions/{sub-id}/resourcegroups/{group-name}/providers/microsoft.compute/disks/{disk-id}YesN/A
volumeAttributes.fsTypeFile System Typeext4, ext3, ext2, xfs, btrfs on Linux, ntfs on WindowsNoext4 on Linux, ntfs on Windows
volumeAttributes.partitionpartition num of the existing disk (only supported on Linux)1, 2, 3Noempty(no partition)
make sure partition format is like -part1
volumeAttributes.cachingModedisk host cache settingNone, ReadOnly, ReadWriteNoReadOnly
volumeAttributes.attachDiskInitialDelaysetting a large number for the initial delay in milliseconds for batch disk attach/detach could reduce the number of operations and ARM throttlingNo1000

VolumeSnapshotClass

NameMeaningAvailable ValueMandatoryDefault value
resourceGroupresource group where the snapshots of the disks will be storedEXISTING RESOURCE GROUPNoIf not specified, snapshot will be stored in the same resource group as source Azure disk
incrementaltake full or incremental snapshottrue, falseNotrue
dataAccessAuthModeenable data access authentication mode when creating a snapshotNone, AzureActiveDirectoryNoNone
tagsazure disk tagstag format: 'key1=val1,key2=val2'No""
userAgentUser agent used for customer usage attributionNoGenerated Useragent formatted driverName/driverVersion compiler/version (OS-ARCH)
subscriptionIDspecify Azure subscription ID in which Azure disk will be createdAzure subscription IDNoif not empty, resourceGroup must be provided, incremental must set as false
locationspecify Azure region in which Azure disk snapshot will be created, region name should only have lower-case letter or digit number.eastus2, westus, etc.Noif empty, driver will use the same region name as current k8s cluster
instantAccessDurationMinutesenable instant access snapshots for PremiumV2 or UltraSSD disks60 to 300No

Tips

  • If there are CVEs in the livenessprobe and csi-node-driver-registrar sidecar images, you can run kubectl edit ds -n kube-system csi-azuredisk-node to change the imagePullPolicy to Always for both sidecar containers. This will cause the CSI driver to restart and pull the latest patched images, thereby resolving the CVEs in these sidecar components.