[k8s] PV PVC

PV PVC

PV와 PVC를 통해 포드가 볼륨에 종속적이지 않게 구성할 수 있다. 두 오브젝트는 볼륨을 추상화하는 역할을 수행한다. 동작은 다음과 같다.

  1. 퍼시스턴트 볼륨 생성
  2. 퍼시스턴트 볼륨 클레임 생성
  3. 퍼시스턴트 볼륨 클레임이 조건에 맞는 퍼시스턴트 볼륨 바인드
  4. 포드의 컨테이너에 볼륨을 마운트

이 때 PVC가 조건에 맞는 PV를 찾지 못한다면 Pending 상태로 남게된다.

Life Cycle

PV의 라이프 사이클은 다음과 같다.

  1. Available : PV가 사용 가능한 상태
  2. Bound : PV가 PVC와 바인드 된 상태
  3. Released : PV의 라이프 사이클이 끝난 상태

Reclaim Policy

PV의 사용이 끝났을 때 볼륨을 어떻게 초기화할지에 대한 정책이다. Retain, Delete, Recycle 방식이 있다.

Retain

PV가 Released가 되면 스토리지에 저장된 실제 데이터는 보존된다.

Delete

PV가 Released가 되면 스토리지에 저장된 실제 데이터와 PV는 삭제된다.

Recycle

Deprecated되었다. PV가 Released가 되면 스토리지에 저장된 실제 데이터를 삭제하지만 PV는 삭제하지 않는다.

Dynamic Provisioning

다이나믹 프로비저닝을 통해 PVC의 조건에 맞는 PV를 생성한다. 다이나믹 프로비저닝은 PV의 Reclaim Policy를 Delete로 설정하기 때문에 다른 정책을 사용하고 싶다면 스토리지 클래스 yaml 파일에 정책을 명시하여야 한다.

Author: Song Hayoung
Link: https://songhayoung.github.io/2020/07/26/Docker/PV-PVC/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.