Espandi volumi permanenti Cassandra

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

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

È possibile aumentare le dimensioni del volume permanente esistente apportando le modifiche direttamente nell'attestazione di volumi permanenti, ma i nuovi nodi continueranno a utilizzare la dimensione iniziale più piccola del volume permanente.

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

Processo

  1. Prima di procedere con l'espansione del volume permanente, assicurati che "allowVolumeExpansion: true" sia impostato sull'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. Il riavvio in sequenza dei pod Cassandra in modo da 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 Cassandra utilizzino la nuova dimensione del volume:
    kubectl -n apigee get pvc