擴充 Cassandra 永久磁碟區

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

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

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

如果混合型 Cassandra 資料庫的儲存空間即將用盡,您可以使用這個程序來擴充現有的永久磁碟區,並允許新節點擴充其永久磁碟區。

程序

  1. 在繼續執行 Persistent 磁碟區擴充作業前,請確認 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