목차
Kubernetes는 컨테이너화된 애플리케이션을 관리하고 배포하기 위한 플랫폼이다. 이러한 애플리케이션을 실행하는 데에는 데이터를 저장하고 관리하는 것도 중요한 요소이다. Kubernetes에서는 Persistent Volume (PV), Persistent Volume Claim (PVC), 그리고 StorageClass라는 개념을 사용하여 데이터를 저장하고 관리한다. 이번 글에서는 각각의 개념과 이들을 어떻게 사용하는지에 대해 살펴보겠다.
Persistent Volume (PV)
Persistent Volume (PV)은 Kubernetes 클러스터 내에서 사용 가능한 스토리지의 추상화이다. 즉, 클러스터 내의 노드에서 독립적으로 프로비저닝되고 관리되는 스토리지 볼륨이다. PV는 클러스터 관리자가 설정하고 제공하며, 애플리케이션이나 사용자가 직접적으로 접근하는 것은 아니다. PV는 여러 가지 백엔드 스토리지 유형을 지원하며, 네트워크 볼륨, 로컬 볼륨, 그리고 클라우드 공급자의 스토리지 등이 포함될 수 있다.
※ PV의 주요 특징
- 볼륨의 속성(용량, 액세스 모드, 볼륨의 재사용 등)을 정의
- 프로비저닝 지원(수동, 동적 필요에 따라 선택 가능)
Persistent Volume Claim (PVC)
Persistent Volume Claim (PVC)은 애플리케이션이나 사용자가 PV에 대한 액세스를 요청하는 방법이다. PVC는 애플리케이션에서 데이터를 저장하고 사용할 수 있는 볼륨을 요청하는데 사용된다. 사용자는 PVC를 생성하여 필요한 스토리지 용량, 액세스 모드 등을 지정한다. Kubernetes는 PVC를 만족시키기 위해 PV를 찾거나 동적으로 프로비저닝하여 PV를 할당한다.
※ PVC의 주요 특징
- 클러스터 사용자가 PV에 대한 액세스를 요청
- PV의 속성(용량, 액세스 모드 등)을 상속하여 PVC 생성
StorageClass
StorageClass는 클러스터 관리자가 PVC를 만족시키기 위해 동적으로 프로비저닝하는 데 사용되는 스토리지 프로비저닝을 정의하는 방법이다. 각 StorageClass는 특정한 프로비저너(스토리지 프로바이더)와 연결되며, 스토리지 프로비저너에 따라 동적으로 PV를 프로비저닝한다.
※ StorageClass의 주요 특징
- PVC의 요청에 따라 PV를 동적으로 프로비저닝
- 각 스토리지 프로비저너에 대해 별도의 프로비저닝 규칙을 정의
'Infrastructure > Docker & Kubernetes' 카테고리의 다른 글
[kubernetes] nexus에서 helm repository 생성 및 push & install (2) | 2024.04.20 |
---|---|
[kubernetes] nexus docker 저장소 생성 후 push & pull (0) | 2024.04.20 |
[kubernetes] on-premise 내부 환경 적합한 Service Type 비교 (0) | 2024.04.11 |
[kubernetes] CI&CD 5탄 - Github Actions Workflow 작성하기 (2) | 2024.04.07 |
[kubernetes] CI&CD 2탄 - Spring-cloud를 활용해 만든 msa framework를 k8s에 배포하기 (0) | 2024.04.07 |