PersistentVolumes and PersistentVolumeClaims provide durable storage for stateful workloads.
Persistent Volumes
# PersistentVolume (cluster-level storage)
apiVersion: v1
kind: PersistentVolume
metadata:
name: mydata-pv
spec:
capacity:
storage: 10Gi
accessModes: [ReadWriteOnce]
persistentVolumeReclaimPolicy: Retain
storageClassName: standard
hostPath:
path: /data/myapp
# PersistentVolumeClaim (request storage)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mydata-pvc
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 5Gi
storageClassName: standard
# Use in pod
volumes:
- name: data
persistentVolumeClaim:
claimName: mydata-pvc