Cassandra 영구 볼륨 확장

이 프로세스를 수행하면 더 많은 스토리지를 제공하기 위해 새 노드를 만들지 않고도 Apigee Hybrid Cassandra 데이터베이스에서 사용하는 영구 볼륨을 확장하여 스토리지 추가 요구사항을 충족할 수 있습니다.

Apigee Hybrid cassandra 구성요소는 영구 볼륨을 사용하여 데이터를 저장합니다. 영구 볼륨의 크기는 설치 및 초기 구성 중에 정의됩니다. 이 초기 스토리지 크기의 값은 변경할 수 없습니다. 따라서 클러스터에 추가된 새 노드는 동일한 영구 볼륨 크기를 사용합니다.

기존 영구 볼륨은 영구 볼륨 신청에서 직접 크기를 변경하여 늘릴 수 있지만 새 노드는 이보다 작은 초기 영구 볼륨 크기를 계속 사용합니다.

하이브리드 Cassandra 데이터베이스가 스토리지 용량 한도에 가까워지면 이 절차에 따라 기존 영구 볼륨을 확장하고 새 노드에서도 영구 볼륨을 확장하도록 할 수 있습니다.

처리

  1. 영구 볼륨 확장을 계속하기 전에 StorageClass가 생성될 때 'allowVolumeExpansion: true'가 StorageClass에 설정되어 있는지 확인합니다.
    kubectl get sc standard -o json | jq .allowVolumeExpansion true
  2. 기존 영구 볼륨 구성(PVC)의 볼륨 크기를 업데이트합니다.
    kubectl -n apigee edit pvc 
  3. 단계식 삭제 없이 statefulset를 삭제합니다.
    kubectl -n apigee delete sts --cascade=false apigee-cassandra
  4. override.yaml을 업데이트하고 변경사항을 적용합니다.
    cassandra:
      storage:
        capacity: 20Gi
    ./apigeectl apply -c cassandra -f overrides.yaml
  5. 새 크기를 반영하도록 Cassandra pod를 순차적으로 재시작합니다. Cassandra pod를 한 번에 하나씩 삭제합니다. 다음 노드로 진행하기 전에 statefulset가 정상인지 확인합니다.
    kubectl -n apigee delete pod apigee-cassandra-2
    kubectl -n apigee get sts
      NAME               READY   AGE
      apigee-cassandra   3/3     64s
  6. Cassandra pod가 새 볼륨 크기를 가지는지 확인합니다.
    kubectl -n apigee get pvc