시스템엔지니어/CS와 이것저것

[K8S] PVC란 무엇일까?

순제로 2025. 7. 19. 21:26
728x90

1. PVC란 대체 뭘끼?

PVC(Persistent Volume Claim)는 쿠버네티스에게 필요한 저장공간 요청서이다.

- PV(Persistent Volume): 실제로 데이터를 저장하는 진짜 하드디스크 SSD 같은 저장소

- PVC(Persistent Volume Claim): 내가 원하는 용량이 필요하다고 쿠버네티스에게 제출하는 신청서

 

비유를 하자면

쿠버네티스 클러스터 = 공장

PV = 여러 종류의 창고(내부, 외부, 대형, 소형 등)

PVC = 내 앱이 쓸 10GB짜리 창고 하나만 주세요 라고 신청서

-> PVC를 쓰면, 내 앱이 저장소에 어떻게 연결되는지 신경 쓸 필요가 없다. 쿠버네티스가 알아서 맞는 창고(PV)에 연결해 주기 때문이다.

 

2. 왜 PVC가 필요할까?

서비스가 죽고 다시 만들어져도 데이터는 남아있다.

서버가 확장(스케일 업/다운) 되어도, 데이터 분실 걱정 없이 앱끼리 데이터 공유 가능

복잡한 스토리지 연결 설정 없이 필요한 만큼만 깔끔하게 관리 가능

 

3. PVC는 어디서 사용할까?

퍼블릭 클라우드(kakaocloud, AWS, Azure, GCP 등): PVC가 클라우드 블록 스토리지와 자동 연동

온프레미스/베어메탈: NFS/Local Disk 등 손수 연결, 그래도 PVC로 쉽게 관리

하이브리드 환경: 쿠버네티스 돌아가기만 하면, 어디서나 OK

 

4. PVC는 어떻게 생겼을까?

yaml 파일

- 이름

- 실제로 피룡한 용량

- 종류

 

5. 내 앱(서비스)에서 어떻게 사용할까?

경로설정 후 mount

 

6. 헷갈리는 점

PVC는 쿠버네티스가 돌아가는 곳이면 어디서나 사용 가능하다(클라우드 뿐만 아니라 사내 서버에서도 가능)

PVC 을 통해 쿠버네티스가 적합한 PV에 자동 매칭(앱이 PVC만 기억하면 하드웨어는 신경 안 써도 됨)

저장소 종류와 연결 방식은 환경(클라우드/온프레미스/스토리지 종류)에 따라 다를 수 있으니 StorageClassName만 맞게 신경 쓰면 됨

 

728x90