Azure Disk CSI driver for Kubernetes
About
This driver allows Kubernetes to access Azure Disk volume, csi plugin name: disk.csi.azure.com
, supported accessModes: ReadWriteOnce
Disclaimer: Deploying this driver manually is not an officially supported Microsoft product. For a fully managed and supported experience on Kubernetes, use AKS with the managed Azure disk csi driver.
Project status
V1: GA
V2: Preview
Container Images & Kubernetes Compatibility
V1
Driver Version | Image | supported k8s version |
---|---|---|
master branch |
mcr.microsoft.com/k8s/csi/azuredisk-csi:latest | 1.21+ |
v1.27.1 | mcr.microsoft.com/oss/kubernetes-csi/azuredisk-csi:v1.27.1 | 1.21+ |
v1.26.4 | mcr.microsoft.com/oss/kubernetes-csi/azuredisk-csi:v1.26.4 | 1.21+ |
v1.25.0 | mcr.microsoft.com/oss/kubernetes-csi/azuredisk-csi:v1.25.0 | 1.21+ |
V2
Driver Version | Image | supported k8s version |
---|---|---|
main_v2 branch |
1.21+ | |
v2.0.0-beta.6 | mcr.microsoft.com/oss/kubernetes-csi/azuredisk-csi:v2.0.0-beta.6 | 1.21+ |
Driver parameters
Please refer to disk.csi.azure.com
driver parameters
storage class
disk.csi.azure.com
parameters are compatible with built-in azuredisk plugin
Prerequisite
- The driver depends on cloud provider config file (here is config example), config file path on different platforms:
- AKS, capz, aks-engine:
/etc/kubernetes/azure.json
- Azure RedHat OpenShift:
/etc/kubernetes/cloud.conf
- AKS, capz, aks-engine:
-
specify a different config file path via configmap
create configmap "azure-cred-file" before driver starts upkubectl create configmap azure-cred-file --from-literal=path="/etc/kubernetes/cloud.conf" --from-literal=path-windows="C:\\k\\cloud.conf" -n kube-system
-
edge zone support in cloud provider config
`extendedLocationType` and `extendedLocationName` should be added into cloud provider config file, available values of `extendedLocationName` are `attatlanta1`, `attdallas1`, `attnewyork1`, `attdetroit1````"extendedLocationType": "edgezone","extendedLocationName": "attatlanta1",```
- Cloud provider config can also be specified via kubernetes secret, check details here
- Make sure identity used by driver has
Contributor
role on node resource group- When install open source driver on the cluster, ensure agentpool service principal or managed service identity is assigned to the
Contributor
role on the resource group used to store managed disks.
- When install open source driver on the cluster, ensure agentpool service principal or managed service identity is assigned to the
Install driver on a Kubernetes cluster
- install by helm charts
- install by kubectl
- install open source CSI driver on following platforms:
- install managed CSI driver on following platforms:
Install Azure Disk CSI Driver V2 on a Kubernetes cluster (Preview)
- install via helm charts
Examples
Features
- Topology (Availability Zone)
- Snapshot
- Volume Cloning
- Volume Expansion
- Raw Block Volume
- Windows
- Shared Disk
- Volume Limits
- fsGroupPolicy
- Workload identity
- Advanced disk performance tuning (Preview)
New in V2
- Attachments Replicas for Faster Pod Failover (Preview)
- See pod failover demo for example configuration.
Troubleshooting
Support
- Please see our support policy
Limitations
- Please refer to Azure Disk CSI Driver Limitations
Kubernetes Development
- Please refer to development guide
View CI Results
- Check testgrid provider-azure-azuredisk-csi-driver dashboard.