Storage: PV & PVC

Kubernetes separates storage infrastructure management from application workload requests using PersistentVolumes (PV) and PersistentVolumeClaims (PVC).

1. Storage Abstraction Layer Architecture

Pod → Requests Storage via →PersistentVolumeClaim (PVC) → Binds to →PersistentVolume (PV) / Cloud Storage

2. Production PersistentVolumeClaim (PVC) Manifest

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: postgres-pv-claim
spec:
  accessModes:
    - ReadWriteOnce # Mounted as read-write by a single node
  resources:
    requests:
      storage: 20Gi # Request 20 GB of storage
  storageClassName: gp2 # Cloud storage provider class (AWS EBS)

Next Up

Learn StatefulSets: deploying stateful applications like PostgreSQL, MongoDB, and Redis cluster.

Next Lesson: StatefulSets & Databases →