Skip to content

kubernetes-sigs/azurefile-csi-driver

Azure File CSI Driver for Kubernetes

linux build status windows build status Coverage Status FOSSA Status Artifact Hub

About

This driver allows Kubernetes to access Azure File volume using smb and nfs protocols, csi plugin name: file.csi.azure.com.

This driver only permits the mounting of SMB file shares using key-based (NTLM v2) authentication, and therefore does not support the maximum security profile of Azure File share settings. On the other hand, mounting NFS file shares does not require key-based authentication.

Disclaimer: 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 Azure File CSI driver.

Project status: GA

Container Images & Kubernetes Compatibility:

Driver Version Image supported k8s version
master branch mcr.microsoft.com/k8s/csi/azurefile-csi:latest 1.21+
v1.31.0 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.31.0 1.21+
v1.30.6 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.30.6 1.21+
v1.29.9 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.29.9 1.21+
v1.28.13 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.28.13 1.21+

Driver parameters

Please refer to driver parameters

Prerequisite

Option#1: Provide cloud provider config with Azure credentials

  • This option depends on cloud provider config file (here is config example), config file path on different clusters:
  • specify a different config file path via configmap
    create configmap "azure-cred-file" before 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 kubernetes secret, check details here
  • Make sure identity used by driver has Contributor role on node resource group and virtual network resource group

Option#2: Bring your own storage account (only for SMB protocol)

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

Examples

Features

Troubleshooting

Support

Kubernetes Development

Please refer to development guide

View CI Results

Check testgrid provider-azure-azurefile-csi-driver dashboard.

Links