Espandere i volumi permanenti Cassandra

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

Il componente cassandra ibrido Apigee 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. Pertanto, qualsiasi nuovo nodo aggiunto al cluster utilizzerà le stesse dimensioni del volume permanente.

È possibile aumentare le dimensioni del volume permanente esistente apportando le modifiche direttamente al claim del volume permanente, ma i nuovi nodi utilizzeranno comunque le dimensioni iniziali più piccole del volume permanente.

Se il tuo database Cassandra ibrido sta per raggiungere la sua capacità di archiviazione, puoi utilizzare questa procedura per espandere i volumi permanenti esistenti e consentire 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 sulla classe di archiviazione 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 overrides.yaml e applica le modifiche:
    cassandra:
      storage:
        capacity: 20Gi
    ./apigeectl apply -c cassandra -f overrides.yaml
  5. Riavviare gradualmente i pod Cassandra in base alle nuove dimensioni. Elimina i pod Cassandra uno alla volta. Verifica che lo stato del statefulset sia buono prima di procedere con i 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 vengano visualizzati con le nuove dimensioni del volume:
    kubectl -n apigee get pvc