You can create a persistent volume claim (pvc) to provision NFS file storage for your cluster. Then, mount this pvc to a Deployment to ensure that data is available, even if the pods crash or shut down.
To view storage classes:
kubectl get storageclasses
Create a YAML file to define the persistent volume claim (pvc) information:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: sample_pvc_name
  annotations:
    volume.beta.kubernetes.io/storage-class: "sample-file-storage"
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 20Gi
To mount the pvc to a deployment, reference the pvc in the deployment configuration like so:
volumes:
    - name: sample_volume_name
      persistentVolumeClaim:
        claimName: sample_pvc_name
After creating the YAML file, run:
kubectl apply –f filename
Verify that the volume was successfully mounted:
kubectl describe deployment deployment_name
For more information about configuring Kubernetes Volumes, see the Kubernetes documentation.