Recent Comments
Link
Recent Posts
Today
Total
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
관리 메뉴

Study Memory Work

[K8S/CKA 자격증] Storage Class 본문

Infra/Kubernetes

[K8S/CKA 자격증] Storage Class

Hera Choi 2023. 1. 29. 18:48

Kubernetes Volume 운영환경 분리

On-promise 환경에서의 Kubernetes는 기본 스토리지 운영환경을 분리해서 사용하게 된다.

  • 스토리지 관리자 : 스토리지를 구성한다.    -> PersistentVolumes
    • 스토리지 관리자는 다양한 형태의 stoeage들을 쉽게 사용할 수 있도록 구성한다. ( 종류, 용량, 옵션 등등)
  • 애플리케이션 운영자(개발자) : 필요한 disk의 스펙만큼의 볼륨을 요청하여 사용  -> PersistentVolumeClaims
  • 애플리케이션 운영자가 볼륨을 요청하면 요청한 스팩에 맞는(혹은 가장 적합한) 스토리지를 할당받게 된다. 
  • 스토리지를 할당받으면 (PersistentVolumeClaim) 해당 볼륨을 Pod에 mount하여 사용할 수 있다.

Dynamic Provisioning

Public cloud의 storage를 사용한다면 사용한 만큼 비용을 지불하는 형태이기 때문에 On-promise처럼 PersistentVolumes를 미리 구성해놓기 힘들다.(사용하지 않는 데도 비용을 지불해야하기 때문) 그렇기 때문에 이러한 환경에서는 볼륨을 mount할 때, 자동으로 PersistentVolume이 생성되도록 하는 Dynamic Provisioning 방식을 취하고 있다. 

이 때 필요한 것은 PersistentVolume을 자동으로 생성해주는 Provisioner. (aws - eks,  Azure - aks, GCP - gke)

Provisioner

  • 각 storageClass에는 PV 프로비저닝에 사용되는 볼륨 플러그인을 결정하는 프로비저너가 있다. 이 필드는 반드시 지정해야 한다.
  • 프로비저너 종류 문서
 

스토리지 클래스

이 문서는 쿠버네티스의 스토리지클래스의 개념을 설명한다. 볼륨과 퍼시스턴트 볼륨에 익숙해지는 것을 권장한다. 소개 스토리지클래스는 관리자가 제공하는 스토리지의 "classes"를 설명할 수

kubernetes.io

이러한 Provisoner 를 사용하는 환경에서는 PV를 직접 만들 필요가 없이 사용하는 cloud service에서 제공받게 된다.

Provisoner 에서는 다양한 volume type들을 storage class단위로 명세하고 있다. storage type, region 등의 disk 종류를 구분하고, 사용자가 volume을 요청할 때 (PVC), 원하는 volume에 맞는 storage class를 명시해주면 된다.

 

StorageClass

  • 스토리지의 "classes"를 설명
  • StorageClass 에는 해당 StorageClass에 속하는 PV를 동적으로 프로비저닝 할 때 사용되는 Provisioner, parameters와 reclaimPolicy 필드가 포함
  • reclaimPolicy 가 지정되지 않으면 기본값은 Delete
  • 스토리지 클래스에 속하는 볼륨을 설명하는 parameters

각 StorageClass에는 해당 클래스에 속하는 PersistentVolume을 동적으로 프로비저닝해야 할 때 사용되는 provisioner, parametersreclaimPolicy 필드가 포함된다.

 

Storage

Ways to provide both long-term and temporary storage to Pods in your cluster.

kubernetes.io