Espandi volumi permanenti Cassandra

Questo processo consente di espandere i volumi permanenti utilizzati dalla piattaforma Apigee ibrida Cassandra per soddisfare esigenze di archiviazione più elevate senza dover creare nuovi nodi solo per più spazio di archiviazione.

Il componente Apigee ibrido cassandra, che utilizza volumi permanenti per archiviare i dati. Le dimensioni del volume permanente viene definito durante l'installazione e la configurazione iniziale. Questa iniziale la dimensione dello spazio di archiviazione è un valore immutabile e non può essere modificata. Di conseguenza, ogni nuovo nodo aggiunto al cluster utilizzerà le stesse dimensioni di volume permanente.

È possibile aumentare la dimensione del volume permanente esistente apportando le modifiche direttamente sul la richiesta di volume permanente, ma i nuovi nodi continueranno a utilizzare la dimensione del volume permanente iniziale più piccola.

Se il database Cassandra ibrido sta per raggiungere la capacità di archiviazione, puoi utilizzare questa procedura di espandere i volumi permanenti esistenti e consentire ai nuovi nodi di espandere i propri volumi permanenti beh.

Processo

  1. Prima di procedere con l'espansione del volume permanente, assicurati che "allowVolumeExpansion: true" viene impostato nell'oggetto StorageClass al momento della creazione:
    kubectl get sc standard -o json | jq .allowVolumeExpansion true
  2. Aggiorna la dimensione del volume per la configurazione del volume permanente (PVC) esistente:
    kubectl -n apigee edit pvc 
  3. Elimina lo StatefulSet senza eliminazione a cascata:
    kubectl -n apigee delete sts --cascade=false apigee-cassandra
  4. Aggiorna il file override.yaml e applica le modifiche:
    cassandra:
      storage:
        capacity: 20Gi
    ./apigeectl apply -c cassandra -f overrides.yaml
  5. L'esecuzione in sequenza riavvia i pod di Cassandra per riflettere la nuova dimensione. Elimina i pod Cassandra uno alla volta nel tempo. Verifica che il set statefulset sia integro prima di passare ai nodi successivi:
    kubectl -n apigee delete pod apigee-cassandra-2
    kubectl -n apigee get sts
      NAME               READY   AGE
      apigee-cassandra   3/3     64s
  6. Verifica che i pod di Cassandra stiano preparando la nuova dimensione del volume:
    kubectl -n apigee get pvc