Développer des volumes persistants Cassandra

Ce processus vous permet de développer les volumes persistants utilisés par la base de données Apigee hybrid Cassandra pour répondre aux besoins de stockage plus importants sans avoir à créer de nœuds supplémentaires pour fournir davantage d'espace de stockage.

Aperçu

Le composant Apigee hybride cassandra utilise des volumes persistants pour stocker des données. La taille du volume persistant est définie lors de l'installation et de la configuration initiale. Cette taille de stockage initiale est une valeur immuable et ne peut pas être modifiée. Par conséquent, tout nouveau nœud ajouté au cluster utilisera la même taille de volume persistant.

Il est possible d'augmenter la taille du volume persistant existant en apportant les modifications directement dans la revendication de volume persistant. Toutefois, les nouveaux nœuds continueront d'utiliser la taille de volume persistant initiale plus petite.

Si votre base de données hybride Cassandra approche de sa limite de stockage, vous pouvez utiliser cette procédure pour développer les volumes persistants existants et autoriser les nouveaux nœuds à développer également leurs volumes persistants.

Développer des volumes persistants Cassandra

  1. Modifiez la taille du volume pour obtenir la taille souhaitée :
    kubectl -n apigee edit pvc
  2. Vérifiez la capacité du volume mis à jour :
     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. Définissez des instances dupliquées sur 0 pour les déploiements apigee-controller-manager dans l'espace de noms 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. Supprimez STS sans suppression en cascade :
    1. kubectl -n apigee delete sts --cascade=false apigee-cassandra
    2. kubectl get sts -n apigee
      No resources found in apigee namespace.
  5. Mettez à jour le fichier de remplacement avec la nouvelle taille de volume spécifiée lors de la modification du pvc :
    cassandra:
      storage:
        capacity: 100Gi
  6. Appliquez la configuration mise à jour au 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. Mettez à jour les instances dupliquées de déploiement du contrôleur pour revenir à leur état antérieur (`1`) :
    kubectl edit deployments -n apigee-system apigee-controller-manager
  8. Vérifiez si la sts nouvellement créée dispose de la taille de stockage mise à jour :
    kubectl get sts -n apigee apigee-cassandra -o yaml |grep storage
    storage: 100Gi
  9. Vérifiez si le volume de données des pods C* a été mis à jour avec une nouvelle taille :

    kubectl exec -n apigee -it apigee-cassandra-default-0 -- df -h|grep "/opt/apigee/data"
    /dev/sdb         99G   69M   99G   1% /opt/apigee/data