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.

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.

Processus

  1. Avant de poursuivre l'extension de volume persistant, assurez-vous que "allowVolumeExpansion: true" est défini sur la StorageClass lors de sa création :
    kubectl get sc standard -o json | jq .allowVolumeExpansion true
  2. Modifiez la taille du volume pour la configuration de volume persistant existante (PVC) :
    kubectl -n apigee edit pvc 
  3. Supprimez le StatefulSet sans suppression en cascade :
    kubectl -n apigee delete sts --cascade=false apigee-cassandra
  4. Mettez à jour le fichier overrides.yaml et appliquez les modifications :
    cassandra:
      storage:
        capacity: 20Gi
    ./apigeectl apply -c cassandra -f overrides.yaml
  5. Redémarrer progressivement les pods Cassandra pour refléter la nouvelle taille. Supprimez les pods Cassandra un à un. Vérifiez que le StatefulSet est opérationnel avant de passer aux nœuds suivants :
    kubectl -n apigee delete pod apigee-cassandra-2
    kubectl -n apigee get sts
      NAME               READY   AGE
      apigee-cassandra   3/3     64s
  6. Vérifiez que les pods Cassandra correspondent à la nouvelle taille de volume :
    kubectl -n apigee get pvc