Nichtflüchtige Cassandra-Volumes erweitern

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

  1. Aktualisieren Sie die Volume-Größe auf die gewünschte Größe:
    kubectl -n apigee edit pvc
  2. 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
  3. Legen Sie Replikate zu 0 für apigee-controller-manager-Bereitstellungen im apigee-system-Namespace fest:
    1. kubectl get deployments -n apigee-system
      NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
      apigee-controller-manager   1/1     1            1           28m
    2. kubectl edit deployments -n apigee-system apigee-controller-manager
    3. kubectl get deployments -n apigee-system
      NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
      apigee-controller-manager   0/0     0            0           30m
  4. Löschen Sie STS ohne Löschen von Kaskaden:
    1. kubectl -n apigee delete sts --cascade=false apigee-cassandra
    2. kubectl get sts -n apigee
      No resources found in apigee namespace.
  5. Aktualisieren Sie die Überschreibungsdatei mit der neuen Volume-Größe, die Sie beim Bearbeiten des PVC angegeben haben:
    cassandra:
      storage:
        capacity: 100Gi
  6. 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
  7. Aktualisieren Sie die Controller-Bereitstellungsreplikate auf ihren vorherigen Zustand (`1`):
    kubectl edit deployments -n apigee-system apigee-controller-manager
  8. 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
  9. 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