본문 바로가기
IT/Docker.K8S

PV, PVC (Persistent Volume Claim)

by 성준하이 2023. 9. 23.
반응형

쿠버네티스에 대한 내용은 아래 참고 포스팅을 참고 바란다.

 

쿠버네티스는 PV 라고 하는 볼륨과 Claim을 붙여서 요청을 하는 PVC로 나뉜다.

pod는 생성이 되고 소멸이 되는데 반면 PV는 PVC에 의해 만들어지면 서버에 마운트 되듯이 pod에서 볼륨을 사용할수 있다.

 

PV/PVC의 생명 주기는 위 사진과 같다.

 

 

Provisioning -> Binding -> Using -> Reclaming

 

Provisioning(프로비저닝)

PV를 만드는 단계를 프로비저닝이라고 한다.

PV를 미리 만들어두는 정적방법과 요청에 의해 만드는 동적 방법이 있다.

동적 - 사용자가 PVC를 거쳐서 PV를 요청할 경우 생성해서 제공

정적 - 사용자가 미리 PV를 만들어두고 이상의 스펙이 요구되면 실패한다. (사용할수 있는 스토리지 용량에 제한이 있을경우 주로 사용)

 

Binding(바인딩)

만들어진 pv를 pvc와 연결한다.

둘의 관계는 1대1이고 다대1이 될수는 없다.

PVC에서 요청하는 PV가 있다면 매칭이 되고 없다면 대기를 하고 바인딩을 해준다.

 

Using(사용)

PVC는 파드에 설정이 되고 파드는 PVC를 볼륨으로 인식이 된다.

마운트 된것처럼 보이고 만약 임의로 삭제하려고 하면 오브젝트 보호 때문에 삭제가 안된다.

 

Reclaiming(반환)

사용이 끝난 PVC는 삭제되고 PVC를 사용중이던 PV가 초기화를 한다.

초기화를 위한 정책에는 Retain, Delete, Recycle 이렇게 3가지가 있다.

 

retain - PV를 그대로 보존.

delete - PV를 삭제하고 연결된 외부 스토리지 볼륨까지 삭제

recycle - PV의 데이터들을 삭제하고 다시 새로운 PVC에서 사용가능하도록 한다.

 

PVC설정하는 예시 yml파일은 아래와 같다.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-hostpath
spec:
  capacity:
    storage: 2Gi # storage size 2GB
  volumeMode: Filesystem # filesystem 형식
  accessModes: # read/write 옵션
  - ReadWriteOnce
  storageClassName: manual
  persistentVolumeReclaimPolicy: Delete
  hostPath:
    path: /tmp/k8s

참고 포스팅

https://thenicesj.tistory.com/89

 

What is the kubernetes?

도커를 다룬 포스팅이 있다. 이 포스팅을 읽고 온다면 해당 포스팅을 읽는데 더욱 도움이 될것이다. https://thenicesj.tistory.com/88 Docker란? 이번 시간에는 도커를 다뤄볼 것이다. 얼마전 영상에서 saas

thenicesj.tistory.com

 

반응형

'IT > Docker.K8S' 카테고리의 다른 글

[Docker] Dockerfile 만들기  (54) 2023.10.18
docker-compose  (50) 2023.10.03
[Docker] Kafka  (38) 2023.09.08
[Docker] Redis  (45) 2023.09.07
도커 명령어 정리  (56) 2023.09.06

댓글