I have downgraded from Kubernetes 1.16 > 1.15 and used the Juju method for installation.
I deployed the NFS charm and associated it with the Kubernetes worker. However, although this worked flawlessly on 1.16, for some reason the setup seems to result in a NFS protocol mismatch on 1.15 - not sure if this is a bug in the NFS charm, or if there is an easy way to resolve it. (I imagine I just need to change the nfs provisioner definition somehow.)
kubectl get events
LAST SEEN TYPE REASON OBJECT MESSAGE 5m54s Normal Scheduled pod/nfs-client-provisioner-7497897b88-92lm7 Successfully assigned default/nfs-client-provisioner-7497897b88-92lm7 to juju-e52e83-4 5m53s Warning FailedMount pod/nfs-client-provisioner-7497897b88-92lm7 MountVolume.SetUp failed for volume "nfs-client-root" : mount failed: exit status 32 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/68f581eb-2895-44ea-b902-b20ed3bdaef7/volumes/kubernetes.io~nfs/nfs-client-root --scope -- mount -t nfs 192.168.54.78:/srv/data/kubernetes-worker /var/lib/kubelet/pods/68f581eb-2895-44ea-b902-b20ed3bdaef7/volumes/kubernetes.io~nfs/nfs-client-root Output: Running scope as unit: run-r911500b6fcbe43ed90b0da03b909b2d0.scope mount.nfs: requested NFS version or transport protocol is not supported 5m53s Warning FailedMount pod/nfs-client-provisioner-7497897b88-92lm7 MountVolume.SetUp failed for volume "nfs-client-root" : mount failed: exit status 32