Décommissionnement#
Warning
Cette documentation a été écrite pour l'ancienne plateforme NGOTALPHA
Elle doit être revue et corrigée.
L'ensemble des actions suivantes doivent être tracées dans un CAASCHR.
Décommissionnement d'une instance de Stackdriver-Exporter#
L'opération s'effectue en trois étapes :
- suppression de la clé du service account dans Vault infra
- suppression des données dans Caascad-Zones
- réinstallation du composant Stackdriver-Exporter et de ses Prometheus-Rules avec Trackbone
Suppression des AK/SK dans Vault infra.#
Authentification au Vault infra#
INFRA_ZONE_NAME="" # infra-stg | infra-prd
export VAULT_ADDR="https://vault.${INFRA_ZONE_NAME}.caascad.com"
vault login -method oidc
Suppression des AK/SK dans Vault infra#
ZONE=""
SE_PROJECT_ID=$(sd get zones | jq -r ".\"${ZONE}\".monitoring.stackdriverExporter[].project_id")
SE_PROJECT_NUMBER=$(sd get zones | jq -r ".\"${ZONE}\".monitoring.stackdriverExporter[].project_number")
# Vérification avant la suppression dans Vault
echo "secret/zones/fe/${ZONE}/stackdriver-exporter-client/${SE_PROJECT_ID}-${SE_PROJECT_NUMBER}"
# Si les variables sont correctes
vault delete "secret/zones/fe/${ZONE}/stackdriver-exporter-client/${SE_PROJECT_ID}-${SE_PROJECT_NUMBER}"
Suppression des données dans Caascad-Zones#
Modification du fichier ~/git/caascad/terraform/envs-ng/zones/caascad_zones/zones_cloudavenue.cue#
Création une branche dans le repository envs-ng.
Suppression des données dans la clé .${ZONE}.monitoring.stackdriverExporter
Vérification et génération des fichiers de zones
cd ~/git/caascad/terraform/envs-ng/
nix-shell
generate-static-zones-files
cat ~/git/caascad/terraform/envs-ng/gen/zones_static/zones.json | jq '."${ZONE}".monitoring.stackdriverExporter'
Si les Vérifications sont OK, vous pouvez demander la review de votre MR et fermer votre CAASCHR.
Réinstallation de Stackdriver-Exporter et des Prometheus-Rules#
ZONE=""
cd ~/git/caascad/terraform/envs-ng/contexts/ngotalpha
trackbone apply -z ${ZONE} -c stackdriver-exporter-client
trackbone apply -z ${ZONE} -c prometheus-rules
Note
Un déploiement consiste à déployer tous les Stackdriver-Exporter déclarés. En ayant supprimé la déclaration d'un Stackdriver-Exporter, la réinstallation aura pour effet de supprimer ce Stackdriver-Exporter devenu non déclaré.
Décommissionnement du multi Stackdriver-Exporter#
L'opération s'effectue en trois étapes :
- désinstallation du composant Stackdriver-Exporter avec Trackbone
- suppression du mot de passe dans Vault infra
- suppression des données dans Caascad-Zones
- réinstallation des Prometheus-Rules avec Trackbone
Désinstallation de Stackdriver-Exporter#
ZONE=""
cd ~/git/caascad/terraform/envs-ng/contexts/ngotalpha
trackbone destroy -z ${ZONE} -c stackdriver-exporter-client
Suppression du mot de passe dans Vault infra.#
Authentification au Vault infra#
INFRA_ZONE_NAME="" # infra-stg | infra-prd
export VAULT_ADDR="https://vault.${INFRA_ZONE_NAME}.caascad.com"
vault login -method oidc
Suppression des AK/SK dans Vault infra#
ZONE=""
SE_PROJECT_ID=$(sd get zones | jq -r ".\"${ZONE}\".monitoring.stackdriverExporter[].project_id")
SE_PROJECT_NUMBER=$(sd get zones | jq -r ".\"${ZONE}\".monitoring.stackdriverExporter[].project_number")
# Vérification avant la suppression dans Vault
echo "secret/zones/fe/${ZONE}/stackdriver-exporter-client/${SE_PROJECT_ID}-${SE_PROJECT_NUMBER}"
# Si les variables sont correctes
vault delete "secret/zones/fe/${ZONE}/stackdriver-exporter-client/${SE_PROJECT_ID}-${SE_PROJECT_NUMBER}"
Suppression des données dans Caascad-Zones#
Modification du fichier ~/git/caascad/terraform/envs-ng/zones/caascad_zones/zones_cloudavenue.cue#
Création une branche dans le repository envs-ng.
Suppression des données dans la clé .${ZONE}.monitoring.stackdriverExporter
Vérification et génération des fichiers de zones
cd ~/git/caascad/terraform/envs-ng/
nix-shell
generate-static-zones-files
cat ~/git/caascad/terraform/envs-ng/gen/zones_static/zones.json | jq '."${ZONE}".monitoring.stackdriverExporter'
Réinstallation des Prometheus-Rules avec Trackbone#
Note
Un déploiement consiste à déployer toutes les Prometheus-Rules déclarées. En ayant supprimé la déclaration d'un Stackdriver-Exporter, la réinstallation aura pour effet de supprimer les Prometheus-Rules inutiles.
cd ~/git/caascad/terraform/envs-ng/contexts/ngotalpha
trackbone apply -z ${ZONE} -c prometheus-rules
Vérification et merge de la branche dans envs-ng#
Vérifier le plan trackbone#
Plan du déploiement :
cd ~/git/caascad/terraform/envs-ng/contexts/ngotalpha
trackbone plan -z ${ZONE} -c stackdriver-exporter-client
FATAL No targets found.
Ce message d'erreur indique que le décommissionnement de Stackdriver-Exporter est terminé.
Si tout est OK, vous pouvez demander la review de votre MR et fermer votre CAASCHR.