Aller au contenu

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 :

  1. suppression de la clé du service account dans Vault infra
  2. suppression des données dans Caascad-Zones
  3. 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 :

  1. désinstallation du composant Stackdriver-Exporter avec Trackbone
  2. suppression du mot de passe dans Vault infra
  3. suppression des données dans Caascad-Zones
  4. 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
La sortie du plan :
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.