/azurefile-csi-driver

Azure File CSI Driver

Primary LanguageGoApache License 2.0Apache-2.0

Azure File CSI Driver for Kubernetes

linux build status windows build status Coverage Status FOSSA Status

About

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

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.24.0 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.24.0 1.21+
v1.23.0 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.23.0 1.21+
v1.22.0 mcr.microsoft.com/oss/kubernetes-csi/azurefile-csi:v1.22.0 1.21+

Driver parameters

Please refer to driver parameters

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

follow guide here

Prerequisite

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 file
    create 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 and vnet resource group

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

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

  • install by kubectl (please use helm for RedHat/CentOS)
  • install by helm charts (supports RedHat/CentOS)

Examples

Features

Troubleshooting

Support

Kubernetes Development

Please refer to development guide

View CI Results

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

Links