kubernetes는 스토리지 구성과 애플리캐이션 운영을 분리하여 적용할 수 있도록 지원한다.
인프라 관련 운영은 시스템 운영자가 구성하고, 애플리케이션 운영자(개발자)는 애플리케이션에 필요한 영구 스토리지를 요청만 하는 것으로 스토리지를 사용할 수 있도록 지원하는데
이것이 PV와 PVC이다.
PV와 PVC는 컨트롤러 및 파드와 별개의 쿠버네티스 리소스이며, 파드의 생명주기와는 별도로 작동합니다.
PV (Persistent Volume)
볼륨 그 자체
쿠버네티스 클러스터 외부 스토리지와 연결을 담당하는 리소스
파드와 별개로 관리되며 별도의 생명주기가 있음
PVC (Persistent Volume Claim)
사용자가 PV에 하는 요청
사용하고 싶은 용량은 얼마인지, 읽기/쓰기는 어떤 모드로 설정하고 싶은지 등을 정해서 요청
스토리지를 직접 연결하는 것이 아니라 PVC를 거쳐서 사용하기 때문에 어떤 스토리지를 사용하는지 신경 쓰지 않아도 됨
PV/PVC 생명주기
1. 프로비저닝 (Provisoning)
PV를 만드는 단계
- 정적(Static) 방법클러스터 관리자가 미리 적정 용량의 PV를 만들어 두고 사용자의 요청이 있으면 미리 만들어둔 PV를 할당
사용할 수 있는 스토리지 용량에 제한이 있을 때 유용 - 동적(Dynamic) 방법
시용자가 PVC를 거쳐 PV를 요청했을 때 생성해서 제공
사용자가 원하는 만큼 생성해서 사용 가능 ( 한번에 200GB PV도 생성 가능)
2. 바인딩 (Binding)
프로저닝으로 만든 PV를 PVC와 연결하는 단계
PVC에서 웜ㄴ하는 용량과 접근방법을 명시해서 요청하면 거기에 맞는 PV가 할당
* 원하는 PV가 없을 때 요청 실패 -> 원하는 PV가 생길 때 까지 대기
3. 사용 (Using)
PVC는 파드에 설정되고 파드는 PVC를 볼륨으로 인식해 사용
할당된 PVC는 파드를 유지하는 동안 계속 사용하며 시스템에서 임의로 삭제할 수 없음
4. 반환 (Reclaiming)
사용이 끝난 PVC는 삭제되고, PVC를 사용하던 PV를 초기화(Reclaim)하는 과정을 거침
초기화(Reclaim) 과정
Retain: PV를 그대로 보존 / 수동으로 회스가 필요한 볼륨 운영 시 필요
Delete: PV를 삭제하고 연결된 외부 스토리지 쪽의 볼륨도 삭제 (=defalt)
Recycle: PV의 데이터들을 rm -rf로 삭제하고 다시 새로운 PVC에서 PV를 사용할 수 있도록 함 .
'INFRA > Operation' 카테고리의 다른 글
쿠버네티스 이론 STEP8 RBAC (0) | 2022.08.29 |
---|---|
Terraform 리소스에 대한 이해 - Azure 2편 (0) | 2022.08.23 |
쿠버네티스 이론 STEP6 Service (3) Ingress - 2 (0) | 2022.08.23 |
Terraform 리소스에 대한 이해 - Azure 1편 (0) | 2022.08.21 |
쿠버네티스 이론 STEP5 Service (3) Ingress - 1 (0) | 2022.08.18 |
댓글