Espandi volumi permanenti Cassandra

Questo processo consente di espandere i volumi permanenti utilizzati dal database ibrido Cassandra di Apigee per soddisfare esigenze di archiviazione maggiori senza dover creare nuovi nodi solo per fornire più spazio di archiviazione.

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

È possibile aumentare la dimensione del volume permanente esistente apportando le modifiche direttamente nella 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 per espandere i volumi permanenti esistenti e consentire ai nuovi nodi di espandere anche i volumi permanenti.

Processo

  1. Prima di procedere con l'espansione del volume permanente, assicurati che "allowVolumeExpansion: true" sia impostato in 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. Verifica che lo 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 prevedano la nuova dimensione del volume:
    kubectl -n apigee get pvc