Espandi volumi permanenti Cassandra

Questo processo consente di espandere i volumi permanenti utilizzati dal database Cassandra ibrido Apigee per soddisfare esigenze di archiviazione maggiori senza dover creare nuovi nodi solo per fornire più spazio di archiviazione.

Panoramica

Il componente Apigee ibrido cassandra 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. Di conseguenza, qualsiasi nuovo nodo aggiunto al cluster utilizzerà la stessa dimensione del volume permanente.

È possibile aumentare le dimensioni del volume permanente esistente apportando le modifiche direttamente nell'attestazione di volumi permanenti, ma i nuovi nodi continueranno a utilizzare la dimensione iniziale più piccola del volume permanente.

Se il tuo database Cassandra ibrido sta per raggiungere la 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 volumi permanenti Cassandra

  1. Aggiorna le dimensioni del volume impostandole sulle dimensioni desiderate:
    kubectl -n apigee edit pvc
  2. 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
  3. Imposta le repliche su 0 per i deployment apigee-controller-manager nello spazio dei nomi apigee-system:
    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. Elimina STS senza eliminazione a cascata:
    1. kubectl -n apigee delete sts --cascade=false apigee-cassandra
    2. kubectl get sts -n apigee
      No resources found in apigee namespace.
  5. Aggiorna il file di override con la nuova dimensione del volume specificata al momento della modifica del file PVC:
    cassandra:
      storage:
        capacity: 100Gi
  6. 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
  7. Aggiorna le repliche di deployment del controller al loro stato precedente (`1`):
    kubectl edit deployments -n apigee-system apigee-controller-manager
  8. Controlla se le dimensioni dello spazio di archiviazione appena create sono state aggiornate:
    kubectl get sts -n apigee apigee-cassandra -o yaml |grep storage
    storage: 100Gi
  9. Controlla se il volume dei 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