blob-csi-driver icon indicating copy to clipboard operation
blob-csi-driver copied to clipboard

Azure Blob Storage CSI driver

Azure Blob Storage CSI driver for Kubernetes

Travis Coverage Status FOSSA Status

About

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

csi plugin name: blob.csi.azure.com

Project status: GA

Container Images & Kubernetes Compatibility:

driver version Image supported k8s version built-in blobfuse version
master branch mcr.microsoft.com/k8s/csi/blob-csi:latest 1.20+ 1.4.5
v1.16.0 mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.16.0 1.20+ 1.4.5
v1.15.0 mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.15.0 1.20+ 1.4.4
v1.14.0 mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.14.0 1.20+ 1.4.4

Driver parameters

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

Set up CSI driver on AKS cluster (only for AKS users)

follow guide here

Prerequisites

Option#1: Provide cloud provider config with Azure credentials

  • This option depends on cloud provider config file, usually it's /etc/kubernetes/azure.json on agent nodes deployed by AKS or aks-engine, here is azure.json example.

    specify a different cloud provider config filecreate azure-cred-file configmap before driver installation, e.g. for OpenShift, it's /etc/kubernetes/cloud.conf (make sure config file path is in the volumeMounts.mountPath)
    kubectl create configmap azure-cred-file --from-literal=path="/etc/kubernetes/cloud.conf" --from-literal=path-windows="C:\\k\\cloud.conf" -n kube-system

  • This driver also supports read cloud config from kubernetes secret as first priority

  • Make sure identity used by driver has Contributor role on node resource group

  • How to set up CSI driver on Azure RedHat OpenShift(ARO)

Option#2: Bring your own storage account

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

Install driver on a Kubernetes cluster

  • install via kubectl on public Azure (please use helm for Azure Stack, RedHat/CentOS)
  • install via helm charts on public Azure, Azure Stack, RedHat/CentOS
    • configure with blobfuse-proxy to make blobfuse mount still available after driver restart

Usage

  • Basic usage
  • NFSv3
  • fsGroupPolicy

Troubleshooting

  • CSI driver troubleshooting guide

Support

  • Please see our support policy

Limitations

  • Please refer to Azure Blob Storage CSI Driver Limitations

Kubernetes Development

  • Please refer to development guide

View CI Results

Links