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