[Storage] Storage Class

IMKUNYOUNG·2024년 7월 29일
0

KCNA

목록 보기
31/56

이번 포스트에서는 Kubernetes에서 스토리지 클래스를 사용하는 방법에 대해 다뤄보겠습니다.

PVC와 PV의 기본 개념

일반적으로 Kubernetes에서 스토리지를 사용하려면, 먼저 PVC를 생성하여 Storage를 클레임합니다. 그런 다음, Pod 정의 파일에서 PVC를 볼륨으로 사용합니다. 예를 들어, Google Cloud의 영구 디스크(Persistent Disk)에서 PVC를 생성하는 경우를 생각해봅시다. 여기서 문제는 PV를 생성하기 전에 Google Cloud에서 디스크를 미리 생성해야 한다는 것입니다.

애플리케이션이 스토리지를 필요로 할 때마다, 먼저 Google Cloud에서 디스크를 수동으로 프로비저닝하고, 동일한 이름으로 PV 정의 파일을 수동으로 생성해야 합니다. 이를 '정적 프로비저닝 볼륨(Static Provisioning Volumes)'이라고 합니다.


동적 프로비저닝과 스토리지 클래스

애플리케이션이 필요할 때 자동으로 볼륨이 프로비저닝되면 훨씬 편리할 것입니다. 여기서 스토리지 클래스(Storage Class)가 등장합니다. 스토리지 클래스를 사용하면 Google Storage와 같은 프로비저너(Provisioner)를 정의하여 애플리케이션이 클레임을 할 때 자동으로 Google Cloud에서 스토리지를 프로비저닝하고 연결할 수 있습니다. 이를 '동적 프로비저닝 볼륨(Dynamic Provisioning Volumes)'이라고 합니다.

이를 위해서는 storage.k8s.io/v1 API 버전이 설정된 스토리지 클래스 객체를 생성해야 합니다. 스토리지 클래스 객체에 이름을 지정하고, 프로비저너로 kubernetes.io/gce-pd를 사용합니다.

다양한 프로비저너와 추가 매개변수

우리는 GCE 프로비저너를 사용하여 GCP에 볼륨을 생성했지만, AWS EBS, AzureFile, AzureDisk, FFS, Portworx, scaleIO와 같은 많은 다른 프로비저너도 있습니다. 각 프로비저너에 대해 디스크 유형, 복제 유형 등의 추가 매개변수를 전달할 수 있습니다. 이러한 매개변수는 사용하는 프로비저너에 따라 매우 구체적입니다. 예를 들어, Google Persistent Disk의 경우, 표준(Standard) 또는 SSD 유형을 지정할 수 있습니다. 또한 복제 모드를 지정할 수 있으며, 복제가 없거나(regional-pd)로 설정할 수 있습니다.

다양한 스토리지 클래스 생성

서로 다른 디스크 유형을 사용하여 다양한 스토리지 클래스를 생성할 수 있습니다. 예를 들어, 표준 디스크가 있는 실버(Silver) 스토리지 클래스, SSD 드라이브가 있는 골드(Gold) 클래스, SSD 드라이브 및 복제가 있는 플래티넘(Platinum) 클래스를 만들 수 있습니다. 이를 통해 다양한 요구 사항을 충족할 수 있습니다.

0개의 댓글