Kubernetes에서 안정적이고 지속적인 저장소를 제공하기 위해 Persistent Volume(PV)과 Persistent Volume Claim(PVC)을 사용합니다. 이번 포스트에서는 PVC를 생성하고 활용하는 방법을 단계별로 설명하겠습니다.
Kubernetes에서 PV와 PVC는 두 개의 별도 객체입니다. 관리자는 먼저 Persistent Volumes의 세트를 생성합니다. 이후 사용자는 Persistent Volume Claims를 통해 이 저장소를 요청합니다. PVC가 생성되면, Kubernetes는 적절한 PV를 찾아 PVC에 바인딩합니다. 각 PVC는 하나의 PV에만 바인딩될 수 있습니다.
PVC가 생성되면 Kubernetes는 다음을 기준으로 적절한 PV를 찾습니다:
여러 PV가 조건에 맞는다면 라벨과 셀렉터를 사용하여 특정 PV에 바인딩할 수 있습니다. 조건이 일치하는 PV가 하나뿐인 경우, PVC는 자동으로 해당 PV에 바인딩됩니다. 만약 사용 가능한 PV가 없다면 PVC는 대기 상태로 남아 있습니다. 새 PV가 생성되면 PVC는 자동으로 새 PV에 바인딩됩니다.
PVC를 생성하는 방법을 살펴보겠습니다.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: myclaim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 500Mi
위의 템플릿은 apiVersion
을 v1
으로 설정하고, kind
를 PersistentVolumeClaim
으로 설정합니다. metadata
섹션에서 이름을 myclaim
으로 지정하고, spec
섹션에서 accessModes
를 ReadWriteOnce
로 설정한 뒤 500메가바이트의 저장소를 요청합니다.
PVC가 삭제될 때 기본 PV는 어떻게 될까요? 선택 가능한 옵션은 다음과 같습니다:
기본 설정은 유지(Retain)입니다.
이번 포스트에서는 Kubernetes에서 Persistent Volume Claims를 생성하고 사용하는 방법을 살펴보았습니다. PV와 PVC를 통해 안정적이고 지속적인 저장소를 제공할 수 있습니다.