After the NFS CSI Driver is deployed in your cluster, you can follow this documentation to quickly deploy some example applications. You can use NFS CSI Driver to provision Persistent Volumes statically or dynamically. Please read Kubernetes Persistent Volumes for more information about Static and Dynamic provisioning.
There are multiple different NFS servers you can use for testing of the plugin, the major versions of the protocol v2, v3 and v4 should be supported by the current implementation. This page will show you how to set up a NFS Server deployment on a Kubernetes cluster.
- To create a NFS provisioner on your Kubernetes cluster, run the following command.
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/example/nfs-provisioner/nfs-server.yaml
-
During the deployment, a new service
nfs-server
will be created which exposes the NFS server endpointnfs-server.default.svc.cluster.local
and the share path/
. You can specifyPersistentVolume
orStorageClass
using these information. -
Deploy the NFS CSI driver, please refer to install NFS CSI driver.
-
To check if the NFS server is working, we can statically create a PersistentVolume and a PersistentVolumeClaim, and mount it onto a sample pod:
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/example/nfs-provisioner/nginx-pod.yaml
- Verify if the NFS server is functional, you can check the mount point from the example pod.
kubectl exec nginx-nfs-example -- bash -c "findmnt /var/www -o TARGET,SOURCE,FSTYPE"
- The output should look like the following:
TARGET SOURCE FSTYPE
/var/www nfs-server.default.svc.cluster.local:/ nfs4