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 :
- Récupérez le nom de l'organisation dans le fichier
overrides.yaml
de l'organisation. - 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.
- Sauvegardez l'organisation.
- 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.
- 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.
-
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.
- (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.
- 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 fichieroverrides.yaml
doit contenir un champ d'organisationorg: test-dev
.apigeectl apply --telemetry -f overrides.yaml
-
Exécutez cette commande en veillant à utiliser l'organisation ou le projet approprié :
kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
- 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 fichieroverrides.yaml
doit contenir un champ d'organisationorg: 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
- 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.
- Procédez à l'exécution sur le pod
apigee-cassandra-default-0
:kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
- 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
. - 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
. - 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.
- 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.
- 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 {} +
-
Quittez le pod Cassandra.
- Procédez à l'exécution sur le pod