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_NAMESPACE --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
.helm upgrade telemetry apigee-telemetry/ \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml
-
Exécutez cette commande en veillant à utiliser l'organisation ou le projet approprié :
kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
- Supprimez les ressources Kubernetes de l'organisation du déploiement hybride.
- Vérifiez que le contexte actuel est le contexte approprié pour le cluster Kubernetes source.
kubectl config current-context
Si nécessaire, définissez le contexte Kubernetes.
Répertoriez vos contextes actuels pour afficher le nom de contexte pour chaque cluster :
kubectl config get-contexts
Définissez le contexte du cluster et de la région que vous souhaitez mettre hors service :
kubectl config use-context CONTEXT_NAME
Où CONTEXT_NAME est le nom du contexte pour le cluster et la région.
Exemple :
kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE gke_example-org-1_us-central1_example-cluster-1 gke_example-org-1_us-central1_example-cluster-1 gke_example-org-1_us-central1_example-cluster-1 apigee * gke_example-org-1_us-central1_example-cluster-2 gke_example-org-1_us-central1_example-cluster-2 gke_example-org-1_us-central1_example-cluster-2 apigee gke_example-org-1_us-west1_example-cluster-2 gke_example-org-1_us-west1_example-cluster-2 gke_example-org-1_us-west1_example-cluster-2 apigeekubectl config use-context gke_example-org-1_us-west1_example-cluster-2
- Supprimez l'hôte virtuel.
Répétez cette opération pour chaque groupe d'environnements :
helm -n APIGEE_NAMESPACE delete ENV_GROUP_NAME
- Supprimez les environnements. Répétez cette opération pour chaque environnement :
helm -n APIGEE_NAMESPACE delete ENV_NAME
- Supprimez l'organisation Apigee.
helm -n APIGEE_NAMESPACE delete ORG_NAME
- Vérifiez que le contexte actuel est le contexte approprié pour le cluster Kubernetes source.
- 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_NAMESPACE 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 KEYSPACE_NAME;
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_NAMESPACE
Redémarrez un pod Cassandra à l'aide de la commande suivante :
kubectl delete pod -n APIGEE_NAMESPACE CASSANDRA_POD_NAME
Attendez que le pod atteigne l'état
Running
à l'aide de la commande suivante :kubectl get pods -n APIGEE_NAMESPACE
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_NAMESPACE 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