You will need an already-provisioned NFS server supporting NFS v4 or better, preferably provisioned for at least 5 GB. The server must be set up to accept connections from all nodes in your cluster -- we leave it to you to determine the best strategy for that, though you may wish to consider the nfs-server-provisioner Helm Chart (TODO: link) if youhave lots of storage available on your nodes or an NFS server provided by your cloud provider.
Once the NFS server is defined, the fastest way to make a dynamic file store available is with the nfs-client-provisioner helm Chart.
Create a local file openwhisk-nfs-client-provisioner.yaml
to configure the provisioner. You need to provide the server and path information. Note also that the storageClass is explictly defined.
nfs: # See https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client server: <!-- To be provided --> path: <!-- To be provided --> storageClass: name: openwhisk-nfs reclaimPolicy: Delete
And run a command to install it...
helm install --namespace openwhisk \ --values ./openwhisk-nfs-client-provisioner.yaml \ stable/nfs-client-provisioner
When you configure OpenWhisk, do remember to set k8s.persistence.hasDefaultStorageClass
to false
and set k8s.persistence.explicitStorageClass
to be openwhisk
. And then you should be off to the races.