Questo processo consente di espandere i volumi permanenti utilizzati dalla piattaforma Apigee ibrida Cassandra per soddisfare esigenze di archiviazione più elevate senza dover creare nuovi nodi solo per più spazio di archiviazione.
Panoramica
Il componente Apigee ibrido cassandra
utilizza volumi permanenti
per archiviare i dati. La dimensione del volume permanente viene definita durante l'installazione e la configurazione iniziale. Questa iniziale
la dimensione dello spazio di archiviazione è un valore immutabile e non può essere modificata. Di conseguenza, ogni nuovo nodo aggiunto al cluster
utilizzerà la stessa dimensione del volume permanente.
È possibile aumentare la dimensione del volume permanente esistente apportando le modifiche direttamente sul l'attestazione di un volume permanente. I nuovi nodi utilizzeranno comunque la dimensione del volume permanente iniziale più piccola.
Se il database Cassandra ibrido sta per raggiungere la capacità di archiviazione, puoi utilizzare questa procedura di espandere i volumi permanenti esistenti e consentire ai nuovi nodi di espandere i propri volumi permanenti beh.
Espandi volumi permanenti Cassandra
- Aggiorna le dimensioni del volume con le 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 lo StatefulSet con le nuove dimensioni dello spazio di archiviazione. I comandi riportati di seguito
crea un file di configurazione
apigee-cassandra-default.yaml
che puoi utilizzare per acquisire configurazione attuale di Cassandra. Quindi, modifica e applica 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
- Verifica che l'operazione
delete
sia completata:kubectl get sts -n apigee
L'output dovrebbe essere simile al seguente:
No resources found in apigee namespace.
- Aggiorna le dimensioni dello spazio di archiviazione nel file
apigee-cassandra-default.yaml
con il nuovo dimensioni dello spazio di archiviazione. Deve corrispondere alle dimensioni che intendi applicare inoverrides.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 l'oggetto StatefulSet sia stato creato di nuovo correttamente:
kubectl get sts -n apigee
L'output dovrebbe essere simile al seguente:
NAME READY AGE apigee-cassandra-default 3/3 6m56s
- Aggiorna il file degli override con la nuova dimensione del volume che hai specificato quando hai modificato il file pvc:
cassandra: storage: capacity: 100Gi
- Applica la configurazione aggiornata al cluster:
helm upgrade datastore apigee-datastore/ \ --namespace apigee \ --atomic \ -f OVERRIDES_FILE.yaml
- Verifica che le dimensioni dello spazio di archiviazione appena create siano 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 la nuova dimensione:
kubectl exec -n apigee -it apigee-cassandra-default-0 -- df -h|grep "/opt/apigee/data"
/dev/sdb 99G 69M 99G 1% /opt/apigee/data