Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

NFSv3 support

NFS 3.0 protocol support on Azure Blob storage is best suited for large scale read-heavy sequential access workload where data will be ingested once and minimally modified further. E.g. large scale analytic data, backup and archive, NFS apps for media rendering, and genomic sequencing etc. It offers lowest total cost of ownership.

Supported OS: Linux

  • dynamic account creation support is available from v1.2.0

Prerequisite

  • Install CSI driver
  • [Optional][Bring Your Own Storage Account] Follow steps here to create storage account that supports NFSv3 protocol and then specify storageAccount in below storage class parameters

How to use NFS feature

  • Create an Azure File storage class

specify protocol: nfs in storage class parameters
for more details, refer to driver parameters

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: blob-nfs
provisioner: blob.csi.azure.com
parameters:
  protocol: nfs

run following command to create a storage class:

wget https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/example/storageclass-blob-nfs.yaml
# set `storageAccount` in storageclass-blob-nfs.yaml
kubectl create -f storageclass-blob-nfs.yaml

Example

  • Create a deployment with NFSv3 on Azure storage
kubectl create -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/example/nfs/statefulset.yaml
  • enter pod to check
kubectl exec -it statefulset-blob-0 -- df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sda1                                                                                 29G   11G   19G  37% /etc/hosts
accountname.blob.core.windows.net:/accountname/pvc-cce02240-5d13-4bcb-b9eb-f9c7eeaaa640  256T     0  256T   0% /mnt/blob
...
# ls -lt
total 2
-rw-r--r-- 1 root root 1120 Sep  3 06:52 outfile