StorageClasses와 동적 프로비저닝
StorageClasses를 사용하면 수동 관리 작업 없이 필요할 때 Kubernetes가 Persistent Volume을 자동으로 프로비저닝하는 방식을 배워 보세요.
StorageClasses와 동적 프로비저닝은(는) CoddyKit의 무료 Kubernetes Basics 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Kubernetes Basics 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Kubernetes Basics 강의에는 총 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로 업그레이드하면 Kubernetes Basics 강의 전체를 잠금 해제할 수 있습니다. Kubernetes Basics 강의에는 총 4개의 강의가 포함되어 있습니다.
“StorageClasses와 동적 프로비저닝”에서 뭘 배우나요?
StorageClasses를 사용하면 수동 관리 작업 없이 필요할 때 Kubernetes가 Persistent Volume을 자동으로 프로비저닝하는 방식을 배워 보세요. 브라우저에서 직접 실행하는 실습 코드로 Kubernetes Basics을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Kubernetes Basics을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Kubernetes Basics은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“StorageClasses와 동적 프로비저닝” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Kubernetes Basics 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Kubernetes Basics 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 구성을 위한 ConfigMaps
- 민감한 데이터를 위한 Secrets
- 영구 볼륨 및 볼륨 클레임
- StorageClasses와 동적 프로비저닝