This patch updates the README for plugins for CSI 0.2.0. It includes the following changes: - Updates the CSC tool location - Removes "get supported versions" because that was removed from CSI.
1.6 KiB
1.6 KiB
CSI NFS driver
Kubernetes
Requirements
The folllowing feature gates and runtime config have to be enabled to deploy the driver
FEATURE_GATES=CSIPersistentVolume=true,MountPropagation=true
RUNTIME_CONFIG="storage.k8s.io/v1alpha1=true"
Mountprogpation requries support for privileged containers. So, make sure privileged containers are enabled in the cluster.
Example local-up-cluster.sh
ALLOW_PRIVILEGED=true FEATURE_GATES=CSIPersistentVolume=true,MountPropagation=true RUNTIME_CONFIG="storage.k8s.io/v1alpha1=true" LOG_LEVEL=5 hack/local-up-cluster.sh
Deploy
kubectl -f deploy/kubernetes create
Example Nginx application
Please update the NFS Server & share information in nginx.yaml file.
kubectl -f examples/kubernetes/nginx.yaml create
Using CSC tool
Build nfsplugin
$ make nfs
Start NFS driver
$ sudo ./_output/nfsplugin --endpoint tcp://127.0.0.1:10000 --nodeid CSINode -v=5
Test
Get csc tool from https://github.com/rexray/gocsi/tree/master/csc
Get plugin info
$ csc identity plugin-info --endpoint tcp://127.0.0.1:10000
"NFS" "0.1.0"
NodePublish a volume
$ export NFS_SERVER="Your Server IP (Ex: 10.10.10.10)"
$ export NFS_SHARE="Your NFS share"
$ csc node publish --endpoint tcp://127.0.0.1:10000 --target-path /mnt/nfs --attrib server=$NFS_SERVER --attrib share=$NFS_SHARE nfstestvol
nfstestvol
NodeUnpublish a volume
$ csc node unpublish --endpoint tcp://127.0.0.1:10000 --target-path /mnt/nfs nfstestvol
nfstestvol
Get NodeID
$ csc node get-id --endpoint tcp://127.0.0.1:10000
CSINode