This driver allows Kubernetes to access Azure Blob Storage through one of the following methods:
-
CSI plugin name:
blob.csi.azure.com -
Project status: GA
Note
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 Blob CSI driver.
| Driver Version | Image | Supported K8s Version |
|---|---|---|
| master branch | mcr.microsoft.com/k8s/csi/blob-csi:latest |
1.21+ |
| v1.27.3 | mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.3 |
1.21+ |
| v1.26.10 | mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.26.10 |
1.21+ |
| v1.25.6 | mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.6 |
1.21+ |
Please refer to blob.csi.azure.com driver parameters.
This option depends on a cloud provider config file (config example). Config file paths on different clusters:
| Platform | Config Path |
|---|---|
| AKS, CAPZ, aks-engine | /etc/kubernetes/azure.json |
| Azure Red Hat OpenShift | /etc/kubernetes/cloud.conf |
Specify a different config file path via ConfigMap
Create the ConfigMap azure-cred-file before the driver starts up:
kubectl create configmap azure-cred-file \
--from-literal=path="/etc/kubernetes/cloud.conf" \
--from-literal=path-windows="C:\\k\\cloud.conf" \
-n kube-system- Cloud provider config can also be specified via a Kubernetes Secret — see details.
- Ensure the identity used by the driver has the
Contributorrole on the node resource group and virtual network resource group.
This option does not depend on the cloud provider config file and supports cross-subscription and on-premise cluster scenarios. Refer to detailed steps.
Install the driver on a Kubernetes cluster:
- Install by Helm charts
- Install by kubectl
Install open source CSI driver:
| Platform | Guide |
|---|---|
| AKS | Install on AKS |
| Azure Red Hat OpenShift | Install on ARO |
Install managed CSI driver:
| Platform | Guide |
|---|---|
| AKS | AKS managed Blob CSI driver |
Install a specific version of blobfuse v2
Execute the following command to install a specific version of blobfuse v2 once the driver is running on the agent node:
kubectl patch daemonset csi-blob-node -n kube-system -p '{"spec":{"template":{"spec":{"initContainers":[{"env":[{"name":"INSTALL_BLOBFUSE2","value":"true"},{"name":"BLOBFUSE2_VERSION","value":"2.5.3"}],"name":"install-blobfuse-proxy"}]}}}}'To install a lower version of blobfuse2 than the current version, add --allow-downgrades to the BLOBFUSE2_VERSION value:
kubectl patch daemonset csi-blob-node -n kube-system -p '{"spec":{"template":{"spec":{"initContainers":[{"env":[{"name":"INSTALL_BLOBFUSE2","value":"true"},{"name":"BLOBFUSE2_VERSION","value":"2.3.0 --allow-downgrades"}],"name":"install-blobfuse-proxy"}]}}}}'Please see our support policy.
Please refer to Azure Blob Storage CSI Driver Limitations.
Please refer to the development guide.
Check the TestGrid provider-azure-blobfuse-csi-driver dashboard.