본문 바로가기
INFRA/Operation

쿠버네티스 이론 STEP7 PV, PVC

by BTC_주먹쥐고 일어서 2022. 8. 23.

 

 

kubernetes는 스토리지 구성과 애플리캐이션 운영을 분리하여 적용할 수 있도록 지원한다.

인프라 관련 운영은 시스템 운영자가 구성하고, 애플리케이션 운영자(개발자)는 애플리케이션에 필요한 영구 스토리지를 요청만 하는 것으로 스토리지를 사용할 수 있도록 지원하는데 

이것이 PV와 PVC이다. 

 

PV PVC는 컨트롤러 및 파드와 별개의 쿠버네티스 리소스이며, 파드의 생명주기와는 별도로 작동합니다.

 

PV (Persistent Volume)

볼륨 그 자체 

쿠버네티스 클러스터 외부 스토리지와 연결을 담당하는 리소스

파드와 별개로 관리되며 별도의 생명주기가 있음

 

PVC (Persistent Volume Claim)

사용자가 PV에 하는 요청 

사용하고 싶은 용량은 얼마인지, 읽기/쓰기는 어떤 모드로 설정하고 싶은지 등을 정해서 요청 

스토리지를 직접 연결하는 것이 아니라 PVC를 거쳐서 사용하기 때문에 어떤 스토리지를 사용하는지 신경 쓰지 않아도 됨

 

 

 

 


 

 

 

PV/PVC 생명주기

 

1. 프로비저닝 (Provisoning)

     PV를 만드는 단계

  1. 정적(Static) 방법클러스터 관리자가 미리 적정 용량의 PV를 만들어 두고 사용자의 요청이 있으면 미리 만들어둔 PV를 할당
    사용할 수 있는 스토리지 용량에 제한이 있을 때 유용
  2. 동적(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를 사용할 수 있도록 함 .

 

댓글