Skip to content

kubernetes-sigs/blob-csi-driver

Azure Blob Storage CSI Driver for Kubernetes

linux build status Coverage Status FOSSA Status Artifact Hub

About

This driver allows Kubernetes to access Azure Blob Storage through one of the following methods:

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.

Container Images & Kubernetes Compatibility

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+

Driver Parameters

Please refer to blob.csi.azure.com driver parameters.

Prerequisites

Option 1: Provide cloud provider config with Azure credentials

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 Contributor role on the node resource group and virtual network resource group.

Option 2: Bring your own storage account

This option does not depend on the cloud provider config file and supports cross-subscription and on-premise cluster scenarios. Refer to detailed steps.

Installation

Install the driver on a Kubernetes cluster:

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"}]}}}}'

Examples

Features

Troubleshooting

Support

Please see our support policy.

Limitations

Please refer to Azure Blob Storage CSI Driver Limitations.

Development

Please refer to the development guide.

CI Results

Check the TestGrid provider-azure-blobfuse-csi-driver dashboard.

Links

About

Azure Blob Storage CSI driver

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors