sigs.k8s.io/azuredisk-csi-driver@v1.30.1/README.md (about) 1 # Azure Disk CSI driver for Kubernetes 2 3 ![linux build status](https://github.com/kubernetes-sigs/azuredisk-csi-driver/actions/workflows/linux.yml/badge.svg) 4 ![windows build status](https://github.com/kubernetes-sigs/azuredisk-csi-driver/actions/workflows/windows.yml/badge.svg) 5 [![Coverage Status](https://coveralls.io/repos/github/kubernetes-sigs/azuredisk-csi-driver/badge.svg?branch=master)](https://coveralls.io/github/kubernetes-sigs/azuredisk-csi-driver?branch=master) 6 [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fkubernetes-sigs%2Fazuredisk-csi-driver.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkubernetes-sigs%2Fazuredisk-csi-driver?ref=badge_shield) 7 [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/azuredisk-csi-driver)](https://artifacthub.io/packages/search?repo=azuredisk-csi-driver) 8 9 ### About 10 This driver allows Kubernetes to access [Azure Disk](https://azure.microsoft.com/en-us/services/storage/disks/) volume, csi plugin name: `disk.csi.azure.com`, supported accessModes: `ReadWriteOnce` 11 12 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](https://learn.microsoft.com/en-us/azure/aks/azure-disk-csi). 13 14 ### Project status 15 16 V1: GA 17 18 V2: Preview 19 20 ### Container Images & Kubernetes Compatibility 21 22 #### V1 23 24 |Driver Version |Image | supported k8s version | 25 |----------------|-----------------------------------------------------------|-----------------------| 26 |`master` branch |mcr.microsoft.com/k8s/csi/azuredisk-csi:latest | 1.21+ | 27 |v1.30.1 |mcr.microsoft.com/oss/kubernetes-csi/azuredisk-csi:v1.30.1 | 1.21+ | 28 |v1.29.2 |mcr.microsoft.com/oss/kubernetes-csi/azuredisk-csi:v1.29.2 | 1.21+ | 29 |v1.28.5 |mcr.microsoft.com/oss/kubernetes-csi/azuredisk-csi:v1.28.5 | 1.21+ | 30 31 #### V2 32 33 |Driver Version |Image | supported k8s version | 34 |----------------|-----------------------------------------------------------------|-----------------------| 35 |`main_v2` branch| | 1.21+ | 36 |v2.0.0-beta.6 |mcr.microsoft.com/oss/kubernetes-csi/azuredisk-csi:v2.0.0-beta.6 | 1.21+ | 37 38 ### Driver parameters 39 40 Please refer to [`disk.csi.azure.com` driver parameters](./docs/driver-parameters.md) 41 > storage class `disk.csi.azure.com` parameters are compatible with built-in [azuredisk](https://kubernetes.io/docs/concepts/storage/volumes/#azuredisk) plugin 42 43 ### Prerequisite 44 45 - The driver depends on [cloud provider config file](https://github.com/kubernetes/cloud-provider-azure/blob/master/docs/cloud-provider-config.md) (here is [config example](./deploy/example/azure.json)), config file path on different platforms: 46 - [AKS](https://docs.microsoft.com/en-us/azure/aks/), [capz](https://github.com/kubernetes-sigs/cluster-api-provider-azure), [aks-engine](https://github.com/Azure/aks-engine): `/etc/kubernetes/azure.json` 47 - [Azure RedHat OpenShift](https://docs.openshift.com/container-platform/4.11/storage/container_storage_interface/persistent-storage-csi-azure.html): `/etc/kubernetes/cloud.conf` 48 - <details> <summary>specify a different config file path via configmap</summary></br>create configmap "azure-cred-file" before driver starts up</br><pre>kubectl create configmap azure-cred-file --from-literal=path="/etc/kubernetes/cloud.conf" --from-literal=path-windows="C:\\k\\cloud.conf" -n kube-system</pre></details> 49 - <details> <summary>edge zone support in cloud provider config</summary></br>`extendedLocationType` and `extendedLocationName` should be added into cloud provider config file, available values of `extendedLocationName` are `attatlanta1`, `attdallas1`, `attnewyork1`, `attdetroit1`</br><pre>```"extendedLocationType": "edgezone","extendedLocationName": "attatlanta1",```</pre></details> 50 - Cloud provider config can also be specified via kubernetes secret, check details [here](./docs/read-from-secret.md) 51 - Make sure identity used by driver has `Contributor` role on node resource group 52 - 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. 53 54 ### Install driver on a Kubernetes cluster 55 - install by [helm charts](./charts) 56 - install by [kubectl](./docs/install-azuredisk-csi-driver.md) 57 - install open source CSI driver on following platforms: 58 - [AKS](./docs/install-driver-on-aks.md) 59 - [Azure RedHat OpenShift](https://github.com/ezYakaEagle442/aro-pub-storage/blob/master/setup-store-CSI-driver-azure-disk.md) 60 - install managed CSI driver on following platforms: 61 - [AKS](https://learn.microsoft.com/en-us/azure/aks/csi-storage-drivers) 62 - [Azure RedHat OpenShift](https://docs.openshift.com/container-platform/4.11/storage/container_storage_interface/persistent-storage-csi-azure.html) 63 64 ### Install Azure Disk CSI Driver V2 on a Kubernetes cluster (Preview) 65 66 - install via [helm charts](./charts) 67 68 ### Examples 69 70 - [Basic usage](./deploy/example/e2e_usage.md) 71 72 ### Features 73 74 - [Topology (Availability Zone)](./deploy/example/topology) 75 - [ZRS disk support](./deploy/example/topology#zrs-disk-support) 76 - [Snapshot](./deploy/example/snapshot) 77 - [Volume Cloning](./deploy/example/cloning) 78 - [Volume Expansion](./deploy/example/resize) 79 - [Raw Block Volume](./deploy/example/rawblock) 80 - [Windows](./deploy/example/windows) 81 - [Volume Limits](./deploy/example/volumelimits) 82 - [fsGroupPolicy](./deploy/example/fsgroup) 83 - [Workload identity](./docs/workload-identity.md) 84 - [Advanced disk performance tuning (Preview)](./docs/perf-profiles.md) 85 86 #### New in V2 87 88 - [Attachments Replicas for Faster Pod Failover (Preview)](./docs/design-v2.md) 89 - See [pod failover demo](./deploy/example/failover/README.md) for example configuration. 90 91 ### Troubleshooting 92 93 - [CSI driver troubleshooting guide](./docs/csi-debug.md) 94 95 ### Support 96 97 - Please see our [support policy][support-policy] 98 99 ### Limitations 100 101 - Please refer to [Azure Disk CSI Driver Limitations](./docs/limitations.md) 102 103 ## Kubernetes Development 104 105 - Please refer to [development guide](./docs/csi-dev.md) 106 107 ### View CI Results 108 109 - Check testgrid [provider-azure-azuredisk-csi-driver](https://testgrid.k8s.io/provider-azure-azuredisk-csi-driver) dashboard. 110 111 ### Links 112 113 - [Kubernetes CSI Documentation](https://kubernetes-csi.github.io/docs/) 114 - [Container Storage Interface (CSI) Specification](https://github.com/container-storage-interface/spec) 115 116 [support-policy]: support.md