You need:
- Persistent volume
- Persistent volume claim
You assign the ‘claim’ to the container, which then can access the volume.
Storage Class
After you create your storage solution, you create a Storage Class for K8s to recognize it and use it as a storage solution.
apiVersion: v1
kind: PersistentVolume
metadata:
name: alta3-pv
spec:
storageClassName: manual # type
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce # only 1 node can add as RW
hostPath:
path: "/mnt/data"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nginx-pvc
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1GiTo add it to a pod:
spec:
containers:
...
volumeMounts:
- name: nginx-pv-storage
mountPath: "/data"
volumes:
- name: nginx-pv-storage
persistentVolumeClaim:
claimName: nginx-pvc