Ok, now we have a problem. We haven't told Kubernetes where it can find storage for our apps. In this example, we're going to use NFS but there are loads of other options like OpenEBS and Gluster. I'm going to assume you've already configured your NFS server of choice, and you know the appropriate mount options.
Guess what? Yep, we're adding another helm repo.
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
Now we're going to be lazy and create one NFS provisioner that will pick up requests for volumes and map them to NFS, and make sure it cleans them up when they're no longer needed. You can do a lot more, but for now just make sure the server and path are correct for your environment.
helm install --create-namespace --namespace nfs-system \
nfs-subdir-external-provisioner \
nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=10.8.0.3 \
--set nfs.path=/KuberNFS \
--set storageClass.defaultClass=true \
--set storageClass.onDelete=delete