Mit diesem Prozess können Sie die nichtflüchtigen Volumes, die von der Apigee Hybrid Cassandra-Datenbank verwendet werden, erweitern, um größere Speicheranforderungen zu erfüllen, ohne neue Knoten erstellen zu müssen, um mehr Speicher bereitzustellen.
Übersicht
Die Apigee Hybrid cassandra
-Komponente verwendet nichtflüchtige Volumes zum Speichern von Daten. Die Größe des nichtflüchtigen Volumes wird während Installation und Erstkonfiguration definiert. Diese anfängliche Speichergröße ist ein unveränderlicher Wert. Er kann nicht geändert werden. Daher verwendet jeder dem Cluster neu hinzugefügte Knoten den gleichen nichtflüchtigen Speicherumfang.
Es ist möglich, die Größe des vorhandenen nichtflüchtigen Volumes zu erhöhen. Dazu wenden Sie die Änderungen direkt auf die Nichtflüchtige Volume-Anforderung an. Für neue Knoten wird jedoch weiterhin die kleinere anfängliche Größe des nichtflüchtigen Volumes verwendet.
Wenn Ihre Hybrid-Cassandra-Datenbank die Speicherkapazität nähert, können Sie dieses Verfahren verwenden, um die vorhandenen nichtflüchtigen Volumes zu erweitern und auch neue Knoten erweitern zu können.
Nichtflüchtige Cassandra-Volumes erweitern
- Aktualisieren Sie die Volume-Größe auf die gewünschte Größe:
kubectl -n apigee edit pvc
- Prüfen Sie die aktualisierte Volume-Kapazität:
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
- Legen Sie Replikate zu
0
fürapigee-controller-manager
-Bereitstellungen imapigee-system
-Namespace fest: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
- Löschen Sie STS ohne Löschen von Kaskaden:
kubectl -n apigee delete sts --cascade=false apigee-cassandra
kubectl get sts -n apigee
No resources found in apigee namespace.
- Aktualisieren Sie die Überschreibungsdatei mit der neuen Volume-Größe, die Sie beim Bearbeiten des PVC angegeben haben:
cassandra: storage: capacity: 100Gi
- Aktualisierte Konfiguration auf den Cluster anwenden:
../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
- Aktualisieren Sie die Controller-Bereitstellungsreplikate auf ihren vorherigen Zustand (
`1`
):kubectl edit deployments -n apigee-system apigee-controller-manager
- Prüfen Sie, ob die neu erstellten Dateien die aktualisierte Speichergröße haben:
kubectl get sts -n apigee apigee-cassandra -o yaml |grep storage
storage: 100Gi
-
Prüfen Sie, ob das C*-Pods-Datenvolumen mit der neuen Größe aktualisiert wurde:
kubectl exec -n apigee -it apigee-cassandra-default-0 -- df -h|grep "/opt/apigee/data"
/dev/sdb 99G 69M 99G 1% /opt/apigee/data