0Pricing
DevOps Bootcamp · 강의

StorageClasses와 동적 프로비저닝

StorageClasses를 사용하면 수동 관리 작업 없이 필요할 때 Kubernetes가 Persistent Volume을 자동으로 프로비저닝하는 방식을 배워 보세요.

StorageClasses와 동적 프로비저닝은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

수동 스토리지 관리의 문제

정적 프로비저닝에서는 PersistentVolumeClaim이 연결되기 전에 관리자가 각 PersistentVolume을 직접 생성해야 합니다. 이 방식은 확장성이 떨어집니다.

동적 프로비저닝은 클레임이 생성될 때 볼륨을 자동으로 만듭니다.

StorageClass란 무엇인가요

StorageClass는 클러스터가 제공할 수 있는 스토리지 유형을 설명합니다. 사용할 프로비저너, 매개변수 및 볼륨의 동작을 지정합니다.

필요할 때 PersistentVolume을 생성하기 위한 서식이라고 생각하면 됩니다.

StorageClass 정의

provisioner 필드는 볼륨을 생성하는 플러그인의 이름을 지정하며, 클라우드 디스크 드라이버인 경우가 많습니다.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp3
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

동적 스토리지 요청하기

PVC는 이름으로 StorageClass를 참조하기만 하면 됩니다. 그러면 쿠버네티스가 일치하는 PV를 자동으로 프로비저닝합니다.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data
spec:
  accessModes: ['ReadWriteOnce']
  storageClassName: fast-ssd
  resources:
    requests:
      storage: 10Gi

기본 StorageClass

PVC에서 storageClassName을 생략하면 쿠버네티스는 클러스터의 기본 StorageClass를 사용합니다(주석으로 표시됨). 따라서 별도의 설정 없이 클레임을 사용할 수 있습니다.

kubectl get storageclass
# NAME            PROVISIONER          DEFAULT
# standard (default)  ...

회수 정책

reclaimPolicy는 PVC가 삭제될 때 발생하는 일을 결정합니다.

  • 삭제: 기반 볼륨도 함께 제거됩니다
  • 유지: 수동 복구를 위해 볼륨이 보존됩니다

볼륨 바인딩 모드

WaitForFirstConsumer는 PVC를 사용하는 파드가 스케줄링될 때까지 볼륨 생성을 지연합니다. 이를 통해 디스크가 파드와 같은 영역에 배치됩니다.

Immediate는 즉시 프로비저닝하므로 영역이 일치하지 않을 수 있습니다.

프로비저닝 과정 확인하기

PVC를 적용한 후 볼륨이 생성되면서 상태가 Pending에서 Bound로 바뀌는 과정을 확인하십시오.

kubectl apply -f pvc.yaml
kubectl get pvc data -w
# data   Pending
# data   Bound   pvc-8a3f...  10Gi

여러 스토리지 계층

클러스터에서는 다양한 요구 사항을 충족하기 위해 여러 StorageClass를 정의하는 경우가 많습니다. 따라서 팀은 워크로드별로 적절한 절충안을 선택할 수 있습니다.

# fast-ssd  -> low latency, higher cost
# standard  -> balanced default
# cold-hdd  -> cheap, archival

볼륨 확장하기

StorageClass에 allowVolumeExpansion: true가 설정되어 있으면, 요청한 크기를 수정하여 PVC를 확장할 수 있고 프로비저너가 기반 디스크의 크기를 조정합니다.

spec:
  resources:
    requests:
      storage: 20Gi  # increased from 10Gi

정적 방식과 동적 방식 중 선택하기

  • 동적: 기본 선택이며, 셀프 서비스에 적합하고 확장성이 좋습니다
  • 정적: 이미 존재하는 특정 디스크나 NFS 내보내기에 연결해야 할 때 사용합니다

빠른 확인

동적 프로비저닝에 대한 이해도를 테스트하십시오.

복습

StorageClass는 스토리지를 생성하는 방식을 서식으로 정의하여 동적 프로비저닝을 가능하게 한다는 것을 배웠습니다. 주요 필드에는 프로비저너, reclaimPolicy 및 volumeBindingMode가 있습니다. PVC는 이름으로 클래스를 참조하며, 기본 클래스는 클래스를 지정하지 않은 클레임을 처리합니다.

자주 묻는 질문

“StorageClasses와 동적 프로비저닝” 강의는 무료인가요?

네 — “StorageClasses와 동적 프로비저닝” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“StorageClasses와 동적 프로비저닝”에서 뭘 배우나요?

StorageClasses를 사용하면 수동 관리 작업 없이 필요할 때 Kubernetes가 Persistent Volume을 자동으로 프로비저닝하는 방식을 배워 보세요. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“StorageClasses와 동적 프로비저닝” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 구성을 위한 ConfigMaps
  2. 민감한 데이터를 위한 Secrets
  3. 영구 볼륨 및 볼륨 클레임
  4. StorageClasses와 동적 프로비저닝
← DevOps Bootcamp(으)로 돌아가기