Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
kubernetes-sigs/blob-csi-driver: Azure Blob Storage CSI driver

kubernetes-sigs/blob-csi-driver: Azure Blob Storage CSI driver

9 hours ago

Azure Blob Storage CSI Driver for Kubernetes

!linux build status Coverage Status</a> FOSSA Status</a> Artifact Hub</a>

About

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.

Container Images & Kubernetes Compatibility

| Driver Version | Image | Supported K8s Version | |----------------|------------------------------------------------------------------|-----------------------| | master branch | mcr.microsoft.com/k8s/csi/blob-csi:latest | 1.21+ | | v1.27.9 | mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.9 | 1.21+ | | v1.26.16 | mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.26.16 | 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.5"}],"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

Chat with me