Mettre hors service une organisation hybride

Ce document décrit les étapes à suivre pour mettre hors service une organisation dans un déploiement hybride. La mise hors service d'une organisation implique la suppression de toutes les données qui lui sont associées dans l'ensemble des pods Cassandra des clusters Kubernetes.

Limites

Vous ne pouvez mettre hors service qu'une seule organisation à la fois. Il n'est pas possible de mettre hors service plusieurs organisations simultanément.

Obtenir le nom de l'organisation

Certaines commandes indiquées dans ces instructions nécessitent l'utilisation d'un nom d'organisation correctement formaté.

Pour obtenir le nom de l'organisation à utiliser dans les commandes de cette page :

  1. Récupérez le nom de l'organisation dans le fichier overrides.yaml de l'organisation.
  2. Si le nom de l'organisation contient des tirets ("-"), remplacez-les par des traits de soulignement ("_").

Instructions

Suivez les instructions ci-dessous pour mettre hors service une organisation dans un déploiement hybride.

  1. Sauvegardez l'organisation.
    1. Si ce n'est pas déjà fait, activez les sauvegardes sur le déploiement hybride. Dans les configurations multirégionales, utilisez le déploiement hybride fonctionnant dans la région principale. Pour en savoir plus sur les sauvegardes hybrides, consultez la page Présentation de la sauvegarde Cassandra.
    2. Déclenchez un job de sauvegarde hybride en exécutant la commande suivante :

      kubectl create job -n apigee --from=cronjob/apigee-cassandra-backup BACKUP_JOB_NAME

      BACKUP_JOB_NAME peut être n'importe quel nom de conteneur valide.

    3. Une fois le job de sauvegarde terminé, suivez les instructions des sections "Vérifier l'état du job de sauvegarde" et "Vérifier les journaux de sauvegarde" de la page Surveiller les sauvegardes pour vérifier que la sauvegarde a bien été effectuée.

  2. (Facultatif) Si vous avez configuré Apigee Telemetry (Metrics et Logger) sur l'organisation à supprimer, suivez les instructions suivantes pour les reconfigurer afin que les métriques et les données de journal s'appliquent à une nouvelle organisation ou à un nouveau projet.
    1. Exécutez cette commande pour l'organisation à laquelle vous souhaitez envoyer les données. Veillez à utiliser le fichier overrides.yaml de l'organisation. Par exemple, si l'organisation à mettre hors service est "test-dev", le fichier overrides.yaml doit contenir un champ d'organisation org: test-dev.

      apigeectl apply --telemetry -f overrides.yaml

    2. Exécutez cette commande en veillant à utiliser l'organisation ou le projet approprié :
      kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
  3. Supprimez les ressources Kubernetes de l'organisation du déploiement hybride.

    Veillez à utiliser le fichier overrides.yaml de l'organisation. Par exemple, si l'organisation à mettre hors service est "test-dev", le fichier overrides.yaml doit contenir un champ d'organisation org: test-dev.

    Pour les déploiements hybrides multirégionaux, exécutez ces commandes sur chaque déploiement hybride dans toutes les régions.

    kubectl config current-context # Verify the current context is the correct context for the hybrid deployment
    apigeectl check-ready -f overrides.yaml # Check the deployment status
    apigeectl delete --settings virtualhost -f overrides.yaml
    apigeectl check-ready -f overrides.yaml # Check the deployment status
    apigeectl delete --all-envs -f overrides.yaml
    apigeectl check-ready -f overrides.yaml # Check the deployment status
    apigeectl delete --org -f overrides.yaml
    apigeectl check-ready -f overrides.yaml # Check the deployment status
        
  4. Supprimez les données de l'organisation du déploiement hybride. Une fois cette étape terminée, toutes les données de l'organisation seront supprimées du déploiement hybride.
    1. Procédez à l'exécution sur le pod apigee-cassandra-default-0 :
      kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
    2. Exécutez la commande suivante. Copiez la liste de tous les noms affichés dans la sortie. Cette liste sera nécessaire ultérieurement.
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"

      Pour savoir comment rechercher et préparer ORG_NAME, consultez la section Obtenir le nom de l'organisation.

      Quittez le pod apigee-cassandra-default-0.

    3. Créez un pod client de débogage Cassandra, comme décrit dans la section Créer un conteneur client pour le débogage. Passez à l'étape suivante après avoir reçu une invite cqlsh.
    4. Exécutez les commandes suivantes dans l'invite cqlsh :
      desc keyspaces;

      Vérifiez que cette commande ne renvoie aucune erreur.

      Pour chaque nom de la liste créée précédemment dans apigee apigee-cassandra-default-0, exécutez les commandes suivantes :

      drop keyspace ;

      Quittez le pod client de débogage Cassandra.

    5. Redémarrez progressivement tous les pods Cassandra. Le redémarrage des pods Cassandra peut être effectué dans n'importe quel ordre, à condition qu'un seul pod Cassandra soit redémarré à la fois. Pour les déploiements multirégionaux, redémarrez progressivement tous les pods Cassandra de chaque région hybride.

      Exécutez la commande suivante et vérifiez que l'état indique "En cours d'exécution" :

      kubectl get apigeeds -n apigee

      Redémarrez un pod Cassandra à l'aide de la commande suivante :

      kubectl delete pod -n apigee CASSANDRA_POD_NAME

      Attendez que le pod atteigne l'état Running à l'aide de la commande suivante :

      kubectl get pods -n apigee

      Redémarrez le pod Cassandra suivant.

    6. Après avoir exécuté les commandes cqlsh, exécutez les commandes suivantes sur tous les pods Cassandra du déploiement hybride. Pour les déploiements hybrides multirégionaux, exécutez les commandes sur tous les pods Cassandra de toutes les régions hybrides.
      kubectl exec -it -n apigee CASSANDRA_POD_NAME -- /bin/bash
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2

      Pour savoir comment rechercher et préparer ORG_NAME, consultez la section Obtenir le nom de l'organisation.

      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
    7. Quittez le pod Cassandra.