쿠버네티스 StorageClass 개념 및 설정

ZER0·2022년 11월 9일
1

Kubernetes

목록 보기
32/39
post-thumbnail

1. 개념

  • PVC를 이용해 볼륨을 손쉽게 요청할 수 있으나 운영자는 PV로 사용할 볼륨을 수동으로 프로비저닝해 함(Static Provisioning 방식)
  • 이런 불편함을 해결하기 위해 자동으로 볼륨을 생성·할당하는 StorageClass를 사용(Dynamic Provisioning 방식)

2. StorageClass 생성

  • StorageClass 생성
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    apiVersion: storage.k8s.io/v1
     
    kind: StorageClass
     
    metadata: 
      name: demo-sc
     
    volumeBindingMode: WaitForFirstConsumer 
     
    provisioner: kubernetes.io/aws-ebs
     
    parameters:
      type: io1
      iopsPerGB: "10"
      fsType: ext4
    cs
  • volumeBindingMode : 볼륨이 언제 바운딩 될지 시기를 설정하는 옵션. 설정하지 않을 경우 Immediate가 기본값으로 설정되나 WaitForFirstConsumer 사용을 권장
    • Immediate : PVC가 생성되는 즉시 바인딩. 따라서 의도치않은 PVC가 바인딩 될 가능성 존재
    • WaitForFirstConsumer : PVC를 사용할 파드가 생성될때까지 바인딩을 지연
  • provisioner : PV(볼륨)를 생성할 스토리지 종류. AWSElasticBlockStore, AzureFile 등 다양한 프로비저너가 존재. 링크에서 확인 가능
  • parameters : provisioner가 동적으로 볼륨을 생성할 때 필요한 옵션

3. PVC에 StorageClass 적용

  • StorageClass를 요청하는 PVC 생성
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    apiVersion: v1
     
    kind: PersistentVolumeClaim
     
    metadata:
      name: demo-pvc-for-sc
     
    spec:
      storageClassName: demo-sc
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 500Mi
    cs
    • storageClassName : 사용하고자 하는 SC 설정

4. StorageClass 정보 확인

  • 목록 및 상태 확인 : kubectl get sc
  • 세부정보 확인 : kubectl describe sc [스토리지클래스_이름]

참고

  1. https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
  2. https://kubernetes.io/ko/docs/concepts/storage/storage-classes
profile
Security Compliance Engineer

0개의 댓글