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.