Prompt
What should I use for persistent storage in Kubernetes?
Latest observation
Oct 12, 2026
OpenAI APIWeb search: off
For persistent storage in Kubernetes, the usual choice is:
Use a PersistentVolumeClaim (PVC) backed by a PersistentVolume (PV), ideally provisioned by a StorageClass.
In practice:
- PVC: what your app requests
- PV: the actual storage resource
- StorageClass: defines how storage is dynamically created
Common backend options
Choose based on your environment:
- Cloud Kubernetes:
- AWS: EBS
- GCP: Persistent Disk
- Azure: Managed Disks
- On-prem / self-managed:
- NFS
- Ceph
- Longhorn
- OpenEBS
- vSAN / other enterprise storage
Good rule of thumb
- For single-pod, block storage: use a PVC with a cloud disk or equivalent
- For shared storage across multiple pods: use RWX-capable storage like NFS, CephFS, or a storage system that supports ReadWriteMany
- For high availability and portability: prefer a CSI-based StorageClass
Avoid
- Storing important data in the container filesystem
- Relying on
emptyDirfor anything you need to keep after pod deletion
Example
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: app-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: standard
resources:
requests:
storage: 10Gi
If you tell me your environment (EKS/GKE/AKS/on-prem) and whether you need shared or per-pod storage, I can recommend the best option.