StorageClass 구성

Cassandra 데이터베이스의 경우 하이브리드 런타임은 동적으로 생성된 영구 볼륨을 사용하여 데이터를 저장합니다. Cassandra를 올바르게 구성하려면 솔리드 스테이트 드라이브(SSD)에서 지원하는 StorageClass 정의를 구성해야 합니다.

이 주제에서는 SSD를 사용하는 새 StorageClass를 만들고 이것을 기본 클래스로 설정하는 방법을 설명합니다. Cassandra가 시작되면 이 기본 StorageClass를 사용합니다.

다음 단계에서는 StorageClass를 만들고 이것을 기본 클래스로 설정하는 방법을 설명합니다. 자세한 내용은 Kubernetes 문서의 기본 스토리지 클래스 변경을 참조하세요.

  1. 현재 기본 StorageClass의 이름을 가져옵니다.
    kubectl get sc

    예:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      standard (default)   kubernetes.io/gce-pd   98d
    
  2. standard라는 StorageClass를 설명합니다. 유형은 pd-standard입니다.
    kubectl describe sc standard

    예:

    kubectl describe sc standard
      Name:                  standard
      IsDefaultClass:        Yes
      Annotations:           storageclass.beta.kubernetes.io/is-default-class=true
      Provisioner:           kubernetes.io/gce-pd
      Parameters:            type=pd-standard
      AllowVolumeExpansion:  <unset>
      MountOptions:          <none>
      ReclaimPolicy:         Delete
      VolumeBindingMode:     Immediate
      Events:                <none>
  3. storageclass.yaml라는 새 파일을 만듭니다.
  4. 이 코드를 파일에 추가합니다. 새 클래스 이름은 apigee-sc이며, 원하는 이름을 사용할 수 있습니다. 또한 스토리지 유형은 pd-ssd입니다.
    ---
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: "apigee-sc"
    provisioner: kubernetes.io/gce-pd
    parameters:
      type: pd-ssd
      replication-type: none
    volumeBindingMode: WaitForFirstConsumer
    allowVolumeExpansion: true
    
  5. 새 StorageClass를 Kubernetes 클러스터에 적용합니다.
    kubectl apply -f storageclass.yaml
  6. 다음 두 명령어를 실행하여 기본 StorageClass를 변경합니다.
    kubectl patch storageclass standard \
      -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
    kubectl patch storageclass apigee-sc \
      -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
  7. 다음 명령어를 실행하여 새 기본 StorageClass를 apigee-sc라고 하는지 확인합니다.
    kubectl get sc

    예:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      apigee-sc (default)  kubernetes.io/gce-pd   1d
      standard             kubernetes.io/gce-pd   98d