PV와 PVC

PV (PersistentVolume)

클러스터 관리자가 미리 프로비저닝해두는 스토리지 자원이다. 실제 물리/클라우드 스토리지(EBS, NFS, hostPath 등)를 쿠버네티스 리소스로 추상화한 것.

  • 클러스터 레벨 리소스 (네임스페이스 없음)
  • 용량, 접근 모드(ReadWriteOnce 등), 스토리지 클래스, node affinity 등을 정의
  • 파드와 직접 연결되지 않고, PVC를 통해 간접적으로 사용됨

PVC (PersistentVolumeClaim)

사용자(파드)가 스토리지를 요청하는 리소스다. PV에 대한 요청서라고 생각하면 된다.

  • 네임스페이스 레벨 리소스
  • 원하는 용량, 접근 모드를 명시하면 조건에 맞는 PV와 바인딩(Bound)
  • 파드는 PVC를 볼륨으로 마운트해서 사용
파드 → PVC → PV → 실제 스토리지

바인딩 관계

PVC와 PV는 1:1로 바인딩된다. 한 번 바인딩되면 다른 PVC가 같은 PV를 사용할 수 없다.

상태설명
AvailablePV가 생성됐지만 아직 바인딩되지 않음
BoundPVC와 PV가 연결된 상태
ReleasedPVC가 삭제됐지만 PV는 아직 반환되지 않음
Failed자동 반환 실패