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.
Panoramica
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.
Espandere i volumi permanenti 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
- Imposta le repliche su
0
per i deploymentapigee-controller-manager
nello spazio dei nomiapigee-system
:kubectl get deployments -n apigee-system
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 28m
kubectl edit deployments -n apigee-system apigee-controller-manager
kubectl get deployments -n apigee-system
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 0/0 0 0 30m
- Eliminare l'STS senza eliminazione a cascata:
kubectl -n apigee delete sts --cascade=false apigee-cassandra
kubectl get sts -n apigee
No resources found in apigee namespace.
- Aggiorna il file delle sostituzioni con le nuove dimensioni del volume specificate quando hai modificato il file 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
- Aggiorna le repliche del deployment del controller allo stato precedente (
`1`
):kubectl edit deployments -n apigee-system apigee-controller-manager
- Controlla se l'elemento sts appena creato ha lo spazio di archiviazione aggiornato:
kubectl get sts -n apigee apigee-cassandra -o yaml |grep storage
storage: 100Gi
-
Controlla se il volume dei 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