Infra/Kubernetes
[쿠버네티스] PV & PVC 란?
Sungwoo Koo
2023. 7. 24. 11:35
온프레미스 베어메탈 환경에서 쿠버네티스를 설치해서 사용하면서,
PV와 PVC 문제로 파드가 정상적으로 동작하지 않는 상황이 자주 발생했었습니다.
PV와 PVC에 대해서 알아보도록 하겠습니다.
PersistentVolume(PV)
클러스터의 스토리지 자원을 나타냅니다.
PersistentVolumeClaim(PVC)
사용자가 요청한 스토리지 자원을 나타냅니다.
쿠버네티스는 PV와 PVC를 사용하여 파드와 클러스터 스토리지 간의 추상화 레이어를 제공합니다.
PV와 PVC의 관계
PV는 클러스터에서 사용 가능한 스토리지를 나타내며,
PVC는 파드가 사용할 수 있는 스토리지 요청을 나타냅니다.
PVC가 생성되면, 쿠버네티스는 사용 가능한 PV 중에서
PVC의 요구 사항과 일치하는 PV를 찾아 바인딩합니다.
이를 통해 파드는 일관된 방식으로 스토리지를 사용할 수 있으며,
실제 스토리지 백엔드에 대한 상세 정보를 알 필요가 없습니다.
PVC(Persistent Volume Claim)를 생성하면,
쿠버네티스는 기존에 생성된 PV 중에서 PVC와 일치하는 스토리지 클래스와 크기를 갖는 PV를 찾습니다.
만약 일치하는 PV가 없다면, 동적 프로비저닝을 사용하는 스토리지 클래스가 설정된 경우
쿠버네티스는 자동으로 새로운 PV를 생성하여 PVC와 연결합니다.
따라서, 일반적인 경우에는 PVC만 생성하고 관리하면 되고, PV는 쿠버네티스가 알아서 처리합니다.