Skip to content

Commit 29e3db2

Browse files
committed
GA CSI Blob storage driver
1 parent 244d950 commit 29e3db2

File tree

2 files changed

+35
-83
lines changed

2 files changed

+35
-83
lines changed

articles/aks/azure-blob-csi.md

Lines changed: 11 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
---
22
title: Use Container Storage Interface (CSI) driver for Azure Blob storage on Azure Kubernetes Service (AKS)
3-
description: Learn how to use the Container Storage Interface (CSI) driver for Azure Blob storage (preview) in an Azure Kubernetes Service (AKS) cluster.
3+
description: Learn how to use the Container Storage Interface (CSI) driver for Azure Blob storage in an Azure Kubernetes Service (AKS) cluster.
44
services: container-service
55
ms.topic: article
6-
ms.date: 08/10/2022
6+
ms.date: 10/18/2022
77
author: mgoedtel
88

99
---
1010

11-
# Use Azure Blob storage Container Storage Interface (CSI) driver (preview)
11+
# Use Azure Blob storage Container Storage Interface (CSI) driver
1212

13-
The Azure Blob storage Container Storage Interface (CSI) driver (preview) is a [CSI specification][csi-specification]-compliant driver used by Azure Kubernetes Service (AKS) to manage the lifecycle of Azure Blob storage. The CSI is a standard for exposing arbitrary block and file storage systems to containerized workloads on Kubernetes.
13+
The Azure Blob storage Container Storage Interface (CSI) driver is a [CSI specification][csi-specification]-compliant driver used by Azure Kubernetes Service (AKS) to manage the lifecycle of Azure Blob storage. The CSI is a standard for exposing arbitrary block and file storage systems to containerized workloads on Kubernetes.
1414

1515
By adopting and using CSI, AKS now can write, deploy, and iterate plug-ins to expose new or improve existing storage systems in Kubernetes. Using CSI drivers in AKS avoids having to touch the core Kubernetes code and wait for its release cycles.
1616

@@ -20,59 +20,27 @@ Mounting Azure Blob storage as a file system into a container or pod, enables yo
2020
* Images, documents, and streaming video or audio
2121
* Disaster recovery data
2222

23-
The data on the object storage can be accessed by applications using BlobFuse or Network File System (NFS) 3.0 protocol. Before the introduction of the Azure Blob storage CSI driver (preview), the only option was to manually install an unsupported driver to access Blob storage from your application running on AKS. When the Azure Blob storage CSI driver (preview) is enabled on AKS, there are two built-in storage classes: *azureblob-fuse-premium* and *azureblob-nfs-premium*.
23+
The data on the object storage can be accessed by applications using BlobFuse or Network File System (NFS) 3.0 protocol. Before the introduction of the Azure Blob storage CSI driver, the only option was to manually install an unsupported driver to access Blob storage from your application running on AKS. When the Azure Blob storage CSI driver is enabled on AKS, there are two built-in storage classes: *azureblob-fuse-premium* and *azureblob-nfs-premium*.
2424

2525
To create an AKS cluster with CSI drivers support, see [CSI drivers on AKS][csi-drivers-aks]. To learn more about the differences in access between each of the Azure storage types using the NFS protocol, see [Compare access to Azure Files, Blob Storage, and Azure NetApp Files with NFS][compare-access-with-nfs].
2626

27-
## Azure Blob storage CSI driver (preview) features
27+
## Azure Blob storage CSI driver features
2828

29-
Azure Blob storage CSI driver (preview) supports the following features:
29+
Azure Blob storage CSI driver supports the following features:
3030

3131
- BlobFuse and Network File System (NFS) version 3.0 protocol
3232

3333
## Before you begin
3434

35-
- The Azure CLI version 2.37.0 or later. Run `az --version` to find the version, and run `az upgrade` to upgrade the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli].
36-
37-
- Install the aks-preview Azure CLI extension version 0.5.85 or later.
38-
39-
- If the open-source CSI Blob storage driver is installed on your cluster, uninstall it before enabling the preview driver.
35+
Review the prerequisites listed in the [CSI storage drivers overview][csi-storage-driver-overview] article to verify the requirements before using this feature.
4036

4137
### Uninstall open-source driver
4238

4339
Perform the steps in this [link][csi-blob-storage-open-source-driver-uninstall-steps] if you previously installed the [CSI Blob Storage open-source driver][csi-blob-storage-open-source-driver] to access Azure Blob storage from your cluster.
4440

45-
## Install the Azure CLI aks-preview extension
46-
47-
The following steps are required to install and register the Azure CLI aks-preview extension and driver in your subscription.
48-
49-
1. To use the Azure CLI aks-preview extension for enabling the Blob storage CSI driver (preview) on your AKS cluster, run the following command to install it:
50-
51-
```azurecli
52-
az extension add --name aks-preview
53-
```
54-
55-
2. Run the following command to register the CSI driver (preview):
56-
57-
```azurecli
58-
az feature register --name EnableBlobCSIDriver --namespace Microsoft.ContainerService
59-
```
60-
61-
3. To register the provider, run the following command:
62-
63-
```azurecli
64-
az provider register -n Microsoft.ContainerService
65-
```
66-
67-
When newer versions of the extension are released, run the following command to upgrade the extension to the latest release:
68-
69-
```azurecli
70-
az extension update --name aks-preview
71-
```
72-
7341
## Enable CSI driver on a new or existing AKS cluster
7442

75-
Using the Azure CLI, you can enable the Blob storage CSI driver (preview) on a new or existing AKS cluster before you configure a persistent volume for use by pods in the cluster.
43+
Using the Azure CLI, you can enable the Blob storage CSI driver on a new or existing AKS cluster before you configure a persistent volume for use by pods in the cluster.
7644

7745
To enable the driver on a new cluster, include the `--enable-blob-driver` parameter with the `az aks create` command as shown in the following example:
7846

@@ -120,7 +88,7 @@ A storage class is used to define how an Azure Blob storage container is created
12088
* **Standard_GRS**: Standard geo-redundant storage
12189
* **Standard_RAGRS**: Standard read-access geo-redundant storage
12290

123-
When you use storage CSI drivers on AKS, there are two additional built-in StorageClasses that use the Azure Blob CSI storage driver (preview).
91+
When you use storage CSI drivers on AKS, there are two additional built-in StorageClasses that use the Azure Blob CSI storage driver.
12492

12593
The reclaim policy on both storage classes ensures that the underlying Azure Blob storage is deleted when the respective PV is deleted. The storage classes also configure the container to be expandable by default, as the `set allowVolumeExpansion` parameter is set to **true**.
12694

@@ -290,3 +258,4 @@ To have a storage volume persist for your workload, you can use a StatefulSet. T
290258
[az-tags]: ../azure-resource-manager/management/tag-resources.md
291259
[azure-csi-blob-storage-dynamic]: azure-csi-blob-storage-dynamic.md
292260
[azure-csi-blob-storage-static]: azure-csi-blob-storage-static.md
261+
[csi-storage-driver-overview]: csi-storage-drivers.md

articles/aks/csi-storage-drivers.md

Lines changed: 24 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Container Storage Interface (CSI) drivers on Azure Kubernetes Service (AK
33
description: Learn about and deploy the Container Storage Interface (CSI) drivers for Azure Disks and Azure Files in an Azure Kubernetes Service (AKS) cluster
44
services: container-service
55
ms.topic: article
6-
ms.date: 09/18/2022
6+
ms.date: 10/18/2022
77
author: palma21
88

99
---
@@ -28,34 +28,39 @@ The CSI storage driver support on AKS allows you to natively use:
2828
2929
## Prerequisites
3030

31-
You need the Azure CLI version 2.40 installed and configured. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli].
31+
- You need the Azure CLI version 2.40 installed and configured. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli].
32+
- If the open-source CSI Blob storage driver is installed on your cluster, uninstall it before enabling the Azure Blob storage driver.
3233

33-
## Disable CSI storage drivers on a new cluster
34+
## Disable CSI storage drivers on a new or existing cluster
3435

35-
`--disable-disk-driver` allows you to disable the [Azure Disks CSI driver][azure-disk-csi]. `--disable-file-driver` allows you to disable the [Azure Files CSI driver][azure-files-csi]. `--disable-snapshot-controller` allows you to disable the [snapshot controller][snapshot-controller ].
36+
To disable CSI storage drivers on a new cluster, use one of the following depending on the storage system:
3637

37-
To disable CSI storage drivers on a new cluster, use `--disable-disk-driver`, `--disable-file-driver`, and `--disable-snapshot-controller`.
38+
* `--disable-disk-driver` allows you to disable the [Azure Disks CSI driver][azure-disk-csi].
39+
* `--disable-file-driver` allows you to disable the [Azure Files CSI driver][azure-files-csi].
40+
* `--disable-blob-driver` allows you to disable the [Azure Blob storage CSI driver][azure-blob-csi].
41+
* `--disable-snapshot-controller` allows you to disable the [snapshot controller][snapshot-controller].
3842

3943
```azurecli
40-
az aks create -n myAKSCluster -g myResourceGroup --disable-disk-driver --disable-file-driver --disable-snapshot-controller
44+
az aks create -n myAKSCluster -g myResourceGroup --disable-disk-driver --disable-file-driver --disable-blob-driver --disable-snapshot-controller
4145
```
4246

43-
## Disable CSI storage drivers on an existing cluster
44-
45-
To disable CSI storage drivers on an existing cluster, use `--disable-disk-driver`, `--disable-file-driver`, and `--disable-snapshot-controller`.
47+
To disable CSI storage drivers on an existing cluster, use one of the parameters listed earlier depending on the storage system:
4648

4749
```azurecli
48-
az aks update -n myAKSCluster -g myResourceGroup --disable-disk-driver --disable-file-driver --disable-snapshot-controller
50+
az aks update -n myAKSCluster -g myResourceGroup --disable-disk-driver --disable-file-driver --disable-blob-driver --disable-snapshot-controller
4951
```
5052

5153
## Enable CSI storage drivers on an existing cluster
5254

53-
`--enable-disk-driver` allows you enable the [Azure Disks CSI driver][azure-disk-csi]. `--enable-file-driver` allows you to enable the [Azure Files CSI driver][azure-files-csi]. `--enable-snapshot-controller` allows you to enable the [snapshot controller][snapshot-controller].
55+
To enable CSI storage drivers on a new cluster, use one of the following depending on the storage system:
5456

55-
To enable CSI storage drivers on an existing cluster with CSI storage drivers disabled, use `--enable-disk-driver`, `--enable-file-driver`, and `--enable-snapshot-controller`.
57+
* `--enable-disk-driver` allows you enable the [Azure Disks CSI driver][azure-disk-csi].
58+
* `--enable-file-driver` allows you to enable the [Azure Files CSI driver][azure-files-csi].
59+
* `--enable-blob-driver` allows you to enable the [Azure Blob storage CSI driver][azure-blob-csi].
60+
* `--enable-snapshot-controller` allows you to enable the [snapshot controller][snapshot-controller].
5661

5762
```azurecli
58-
az aks update -n myAKSCluster -g myResourceGroup --enable-disk-driver --enable-file-driver --enable-snapshot-controller
63+
az aks update -n myAKSCluster -g myResourceGroup --enable-disk-driver --enable-file-driver --enable-blob-driver --enable-snapshot-controller
5964
```
6065

6166
## Migrate custom in-tree storage classes to CSI
@@ -115,43 +120,21 @@ If you have in-tree Azure File persistent volumes, get `secretName`, `shareName`
115120

116121
## Next steps
117122

118-
- To use the CSI driver for Azure Disks, see [Use Azure Disks with CSI drivers](azure-disk-csi.md).
119-
- To use the CSI driver for Azure Files, see [Use Azure Files with CSI drivers](azure-files-csi.md).
120-
- To use the CSI driver for Azure Blob storage, see [Use Azure Blob storage with CSI drivers](azure-blob-csi.md)
123+
- To use the CSI driver for Azure Disks, see [Use Azure Disks with CSI drivers][azure-disk-csi].
124+
- To use the CSI driver for Azure Files, see [Use Azure Files with CSI drivers][azure-files-csi].
125+
- To use the CSI driver for Azure Blob storage, see [Use Azure Blob storage with CSI drivers][azure-blob-csi]
121126
- For more about storage best practices, see [Best practices for storage and backups in Azure Kubernetes Service][operator-best-practices-storage].
122127
- For more information on CSI migration, see [Kubernetes In-Tree to CSI Volume Migration][csi-migration-community].
123128

124129
<!-- LINKS - external -->
125-
[access-modes]: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes
126130
[csi-migration-community]: https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-feature-csi-migration-beta
127-
[kubectl-apply]: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#apply
128-
[kubectl-get]: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get
129-
[kubernetes-storage-classes]: https://kubernetes.io/docs/concepts/storage/storage-classes/
130-
[kubernetes-volumes]: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
131-
[managed-disk-pricing-performance]: https://azure.microsoft.com/pricing/details/managed-disks/
132-
[azure-disk-csi]: https://github.com/kubernetes-sigs/azuredisk-csi-driver
133-
[azure-files-csi]: https://github.com/kubernetes-sigs/azurefile-csi-driver
134131
[snapshot-controller]: https://kubernetes-csi.github.io/docs/snapshot-controller.html
135132

136133
<!-- LINKS - internal -->
137-
[azure-disk-volume]: azure-disk-volume.md
138134
[azure-disk-static-mount]: azure-disk-volume.md#mount-disk-as-a-volume
139135
[azure-file-static-mount]: azure-files-volume.md#mount-file-share-as-a-persistent-volume
140-
[azure-files-pvc]: azure-files-dynamic-pv.md
141-
[premium-storage]: ../virtual-machines/disks-types.md
142-
[az-disk-list]: /cli/azure/disk#az_disk_list
143-
[az-snapshot-create]: /cli/azure/snapshot#az_snapshot_create
144-
[az-disk-create]: /cli/azure/disk#az_disk_create
145-
[az-disk-show]: /cli/azure/disk#az_disk_show
146-
[aks-quickstart-cli]: kubernetes-walkthrough.md
147-
[aks-quickstart-portal]: kubernetes-walkthrough-portal.md
148136
[install-azure-cli]: /cli/azure/install-azure-cli
149137
[operator-best-practices-storage]: operator-best-practices-storage.md
150-
[concepts-storage]: concepts-storage.md
151-
[storage-class-concepts]: concepts-storage.md#storage-classes
152-
[az-extension-add]: /cli/azure/extension#az_extension_add
153-
[az-extension-update]: /cli/azure/extension#az_extension_update
154-
[az-feature-register]: /cli/azure/feature#az_feature_register
155-
[az-feature-list]: /cli/azure/feature#az_feature_list
156-
[az-provider-register]: /cli/azure/provider#az_provider_register
157-
[install-azure-cli]: ../cli/azure/install-azure-cli
138+
[azure-blob-csi]: azure-blob-csi.md
139+
[azure-disk-csi]: azure-disk-csi.md
140+
[azure-files-csi]: azure-files-csi.md

0 commit comments

Comments
 (0)