Skip to content

Commit 39753f5

Browse files
committed
doc: add NFSv3 support doc
1 parent 444855e commit 39753f5

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Please refer to [install blobfuse csi driver](https://github.com/kubernetes-sigs
3232
3333
### Usage
3434
- [Basic usage](./deploy/example/e2e_usage.md)
35+
- [NFSv3](./deploy/example/nfs)
3536
3637
### Troubleshooting
3738
- [CSI driver troubleshooting guide](./docs/csi-debug.md)

deploy/example/nfs/README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
## NFSv3 support
2+
[NFS 3.0 protocol support on Azure Blob storage](https://docs.microsoft.com/en-us/azure/storage/blobs/network-file-system-protocol-support) is now in Preview. This service 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.
3+
4+
#### Feature Status: Alpha
5+
> supported OS: Linux
6+
7+
#### Available regions
8+
`eastus`, `centralus`, `canadacentral`
9+
10+
#### Prerequisite
11+
- [Register the NFS 3.0 protocol feature with your subscription](https://docs.microsoft.com/en-us/azure/storage/blobs/network-file-system-protocol-support-how-to#step-1-register-the-nfs-30-protocol-feature-with-your-subscription)
12+
```console
13+
az feature register --name AllowNFSV3 --namespace Microsoft.Storage
14+
az feature register --name PremiumHns --namespace Microsoft.Storage
15+
az provider register --namespace Microsoft.Storage
16+
```
17+
18+
- [install CSI driver](https://github.com/kubernetes-sigs/blobfuse-csi-driver/blob/master/docs/install-csi-driver-master.md) (only master version supported now)
19+
- Create a `Premium_LRS` Azure storage account with following configurations to support NFS 3.0
20+
- account kind: `BlockBlobStorage`
21+
- Replication: `Locally-redundant storage (LRS)`
22+
- secure transfer required(enable HTTPS traffic only): `false`
23+
- select virtual network of agent nodes in `Firewalls and virtual networks`
24+
- Hierarchical namespace: `Enabled`
25+
- NFS V3: `Enabled`
26+
27+
#### How to use NFS feature
28+
- Create an Azure File storage class
29+
> specify `storageAccount` and `protocol: nfs` in storage class `parameters`
30+
> </br>for more details, refer to [driver parameters](../../../docs/driver-parameters.md)
31+
```yaml
32+
apiVersion: storage.k8s.io/v1
33+
kind: StorageClass
34+
metadata:
35+
name: blob
36+
provisioner: blobfuse.csi.azure.com
37+
parameters:
38+
resourceGroup: EXISTING_RESOURCE_GROUP_NAME # optional, only set this when storage account is not in the same resource group as agent node
39+
storageAccount: EXISTING_STORAGE_ACCOUNT_NAME
40+
protocol: nfs
41+
```
42+
43+
run following command to create a storage class:
44+
```console
45+
wget https://raw.githubusercontent.com/kubernetes-sigs/blobfuse-csi-driver/master/deploy/example/storageclass-blob-nfs.yaml
46+
# set `storageAccount` in storageclass-blob-nfs.yaml
47+
kubectl create -f storageclass-blob-nfs.yaml
48+
```
49+
50+
### Example
51+
- Create a deployment with NFSv3 on Azure storage
52+
```console
53+
kubectl create -f https://raw.githubusercontent.com/kubernetes-sigs/blobfuse-csi-driver/master/deploy/example/statefulset.yaml
54+
```
55+
56+
- enter pod to check
57+
```console
58+
$ exec -it statefulset-blobfuse-0 bash
59+
# df -h
60+
Filesystem Size Used Avail Use% Mounted on
61+
...
62+
/dev/sda1 29G 11G 19G 37% /etc/hosts
63+
accountname.blob.core.windows.net:/accountname/pvc-cce02240-5d13-4bcb-b9eb-f9c7eeaaa640 256T 0 256T 0% /mnt/blobfuse
64+
...
65+
```

0 commit comments

Comments
 (0)