擴充 Cassandra 永久磁碟區

這個程序可讓您擴充 Apigee Hybrid Cassandra 資料庫使用的永久磁碟區,以因應更大的儲存空間需求,不必為了提供更多儲存空間而建立新節點。

Apigee Hybrid cassandra 元件會使用永久磁碟區儲存資料。永久磁碟區的大小是在安裝和初始設定期間定義。這個初始儲存空間大小是不可變更的值,無法變更。因此,新增至叢集的任何新節點都會使用相同大小的永久磁碟區。

您可以直接在 PersistentVolumeClaim 上進行變更,藉此增加現有永久磁碟區的大小,但新節點仍會使用較小的初始永久磁碟區大小。

如果混合式 Cassandra 資料庫即將達到儲存空間容量上限,您可以按照這個程序擴充現有的永久磁碟區,並允許新節點擴充永久磁碟區。

程序

  1. 繼續擴充 PersistentVolume 之前,請確認建立 StorageClass 時已設定「allowVolumeExpansion: true」:
    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. 更新 overrides.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