Questo processo ti consente di espandere i volumi permanenti utilizzati dal database Apigee hybrid Cassandra per soddisfare maggiori esigenze di spazio di archiviazione senza dover creare nuovi nodi solo per fornire più spazio di archiviazione.
Panoramica
Il componente cassandra di Apigee hybrid utilizza volumi permanenti per archiviare i dati. Le dimensioni
del volume persistente vengono definite durante l'installazione e la configurazione iniziale. Questa dimensione
iniziale dello spazio di archiviazione è un valore immutabile e non può essere modificato. 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 alla richiesta di volume permanente, ma i nuovi nodi utilizzeranno comunque le dimensioni iniziali più piccole del volume permanente.
Se il tuo database Cassandra ibrido si sta avvicinando alla 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.
Espandi i volumi permanenti di Cassandra
- Aggiorna le dimensioni del volume in base alle dimensioni desiderate:
kubectl -n apigee edit pvc
- Controlla la capacità del volume aggiornata:
kubectl get pvc -n apigee
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE cassandra-data-apigee-cassandra-default-0 Bound pvc-92234ba7-941b-4dab-82c6-8a5288a2c8d4 100Gi RWO standard 21m cassandra-data-apigee-cassandra-default-1 Bound pvc-6be911fc-91f7-465d-a02e-933428ee10b2 100Gi RWO standard 20m cassandra-data-apigee-cassandra-default-2 Bound pvc-14ba34e4-fd5c-4d59-8413-a331dcad3404 100Gi RWO standard 19m
- Esegui il backup, elimina e ricrea il set con stato con le nuove dimensioni dello spazio di archiviazione. I seguenti comandi
creano un file di configurazione
apigee-cassandra-default.yamlche puoi utilizzare per acquisire la configurazione Cassandra corrente. Quindi, modifichi e applichi questa configurazione:kubectl -n apigee get sts apigee-cassandra-default -o yaml > apigee-cassandra-default.yaml
kubectl -n apigee delete sts --cascade=orphan apigee-cassandra-default
- Controlla che l'operazione
deletesia completata:kubectl get sts -n apigee
L'output dovrebbe avere il seguente aspetto:
No resources found in apigee namespace.
- Aggiorna le dimensioni di archiviazione nel file
apigee-cassandra-default.yamlcon le nuove dimensioni di archiviazione. Deve corrispondere alla dimensione che intendi applicare nel tuooverrides.yaml. Ad esempio:resources: requests: storage: 100Gi - Applica di nuovo la configurazione statefulset con le dimensioni di archiviazione aggiornate:
kubectl apply -f apigee-cassandra-default.yaml
- Verifica che lo statefulset sia stato ricreato correttamente:
kubectl get sts -n apigee
L'output dovrebbe essere simile a questo:
NAME READY AGE apigee-cassandra-default 3/3 6m56s
- Aggiorna il file di override con le nuove dimensioni del volume specificate durante la modifica della PVC:
cassandra: storage: capacity: 100Gi
- Applica la configurazione aggiornata al cluster:
../apigeectl apply --datastore -f overrides/overrides.yaml
Parsing file: config/values.yaml Parsing file: overrides/overrides.yaml cleansing older AD's (v1alpha1) istio resources... Invoking "kubectl apply" with YAML config... apigeedatastore.apigee.cloud.google.com/apigee-cassandra unchanged
- Controlla se il nuovo sts ha le dimensioni di archiviazione aggiornate:
kubectl get sts -n apigee apigee-cassandra -o yaml |grep storage
storage: 100Gi
-
Controlla se il volume di dati dei pod C* è stato aggiornato con le nuove dimensioni:
kubectl exec -n apigee -it apigee-cassandra-default-0 -- df -h|grep "/opt/apigee/data"
/dev/sdb 99G 69M 99G 1% /opt/apigee/data