Ce document explique comment configurer l'analyse de votre pipeline de diffusion si vous utilisez Google Cloud Observability comme système de surveillance.
Si vous utilisez un autre fournisseur de surveillance, vous devez définir une analyse personnalisée, ce qui inclut la création d'un conteneur pour ingérer et évaluer les métriques et autres données de votre fournisseur.
Avant de commencer
-
Connectez-vous à votre compte Google.
Si vous n'en possédez pas déjà un, vous devez en créer un.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activez les API Compute Engine et Cloud Deploy :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.gcloud services enable clouddeploy.googleapis.com
compute.googleapis.com -
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activez les API Compute Engine et Cloud Deploy :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.gcloud services enable clouddeploy.googleapis.com
compute.googleapis.com
Rôles requis
Pour obtenir les autorisations nécessaires pour créer et utiliser des jobs d'analyse, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le compte de votre projet :
- Exécuteur Cloud Deploy (
roles/clouddeploy.jobRunner) - Lecteur d'alertes Monitoring (
roles/monitoring.alertPolicyViewer) - Consommateur Service Usage (
roles/serviceusage.serviceUsageConsumer)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour vous assurer que le compte de service Cloud Deploy dispose des autorisations nécessaires pour créer et utiliser des automatisations, demandez à votre administrateur d'attribuer les rôles IAM suivants au compte de service Cloud Deploy dans votre projet :
- Utilisateur du compte de service IAM (
roles/iam.serviceAccountUser) - Lanceur Cloud Deploy (
roles/clouddeploy.releaser) - Opérateur Cloud Deploy (
roles/clouddeploy.operator)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer au compte de service Cloud Deploy les autorisations requises à l'aide de rôles personnalisés ou d'autres rôles prédéfinis.
Configurer l'analyse dans Cloud Deploy
La configuration de l'analyse du déploiement comprend les étapes suivantes :
Configurez un job d'analyse dans votre pipeline de livraison.
Exécutez votre pipeline pour lancer votre analyse.
Définir des règles d'alerte
Vous définissez des règles d'alerte pour recevoir des métriques de Google Cloud Observability. Une règle d'alerte Google Cloud Observability décrit quand et comment vous souhaitez être averti lorsque les données de surveillance répondent à des critères spécifiés.
L'analyse Cloud Deploy utilise ces alertes pour prendre des mesures en fonction des circonstances qu'elles indiquent.
Par exemple, vous pouvez configurer une règle d'alerte sur votre application en production pour envoyer une alerte si la latence de réponse HTTP est trop élevée. Sur la base de cette alerte, votre job d'analyse peut déclencher une automatisation repairRolloutRule pour effectuer un rollback de la version.
Par exemple, vous pouvez créer une règle d'alerte similaire sur votre application déployée dans votre environnement de préproduction. Si aucune alerte n'est déclenchée pendant la durée du job d'analyse, ce job peut déclencher une automatisation promoteReleaseRule pour promouvoir la version en production.
Créer l'analyse
Pour créer un job d'analyse pour le pipeline de déploiement de votre application, configurez cette analyse dans la configuration du pipeline, puis appliquez ce fichier de configuration.
Configurer une tâche d'analyse
Cette section explique comment configurer un job d'analyse Cloud Deploy pour l'utiliser avec Google Cloud Observability.
Votre job d'analyse est configuré dans la définition du pipeline de livraison, à l'intérieur d'une strophe strategy. Cela peut se trouver dans n'importe quelle stratégie, canary ou standard. Si vous souhaitez configurer l'analyse par phase, vous pouvez utiliser un canary personnalisé (strategy.canary.customCanaryDepolyment.phaseConfigs.phaseId.analysis).
Un job d'analyse se compose des éléments suivants :
Durée
Cette durée spécifie la durée d'exécution du job d'analyse. Si la durée expire et qu'aucune alerte n'est détectée dans Google Cloud Observability, l'analyse est considérée comme réussie et le déploiement se poursuit.
Un ou plusieurs contrôles correspondant aux règles d'alerte de votre système de surveillance
Chaque vérification inclut les éléments suivants :
Un ID
Une ou plusieurs règles d'alerte
Autrement dit, des références à une ou plusieurs règles d'alerte Google Cloud Observability.
- Un ou plusieurs libellés utilisés pour identifier une règle d'alerte spécifique. Étant donné qu'une règle d'alerte Google Cloud Observability peut surveiller de nombreuses applications, ces libellés nous permettent de limiter la vérification à une ou plusieurs applications spécifiques.
Notez que vous pouvez utiliser des paramètres système comme clés pour les libellés ici.
Voici la syntaxe permettant de configurer un job d'analyse lorsque vous utilisez une stratégie de déploiement standard :
strategy:
standard:
analysis:
duration: DURATION
googleCloud:
alertPolicyChecks:
- id: CHECK_ID
alertPolicies:
- [ALERT_POLICY_ID]
labels:
[KEY: VALUE]
Où :
DURATIONDurée d'exécution du job d'analyse, en secondes. Une fois la durée écoulée, le job est terminé. Si l'analyse échoue (le conteneur renvoie un code de sortie non nul), le job se termine (
FAILED) avant l'expiration de la durée.CHECK_IDID d'un contrôle individuel dans votre analyse. Chaque ID doit être unique dans ce job d'analyse. Vous pouvez inclure une ou plusieurs vérifications dans un job d'analyse.
ALERT_POLICY_IDID de la règle d'alerte Google Cloud Observability que vous utilisez pour la vérification. Pour trouver l'ID de la règle d'alerte, exécutez la commande
gcloud monitoring policies list. Vous avez besoin de l'ID complet, qui ressemble à ceci :projects/project-redacted/alertPolicies/01234567890123456789Il est possible que l'identifiant renvoyé inclue
/conditions/13842666848149128276après l'ID de la règle. Ne l'incluez pas dans l'ID de la règle.KEYetVALUEIl s'agit d'une paire clé-valeur pour un libellé, à utiliser pour ne prendre en compte que des alertes spécifiques. Par exemple, vous pouvez utiliser un libellé pour qu'une vérification ne prenne en compte que les alertes concernant une charge de travail spécifique.
Vous pouvez utiliser des paramètres système pour les valeurs ici.
Voici un exemple qui utilise un paramètre système :
labels: service_name: '${{render.metadata.cloud_run.service.name}}'
Cette configuration crée un job d'analyse. Bien qu'il existe plusieurs vérifications, cette configuration ne crée qu'un seul job.
Si aucune des règles d'alerte configurées n'envoie d'alerte, ce job réussit et le déploiement se poursuit. Si une règle déclenche une alerte, le job s'arrête avec l'état FAILED et le déploiement échoue (avec l'état FAILED, sauf si vous choisissez d'ignorer l'échec du job).
Appliquer votre fichier de configuration du pipeline de livraison
Pour créer un pipeline de diffusion avec votre job d'analyse, appliquez le fichier de configuration à l'aide de la commande suivante :
gcloud deploy apply FILE \
--region=REGION \
--project=PROJECT_ID
Remplacez les éléments suivants :
FILEAvec le nom de votre fichier de configuration du pipeline de déploiement,
clouddeploy.yamlou le nom que vous lui avez donné.REGIONPar la région dans laquelle vous créez votre pipeline de livraison.
PROJECT_IDAvec l'ID du projet dans lequel vous créez ce pipeline de livraison.
Vous disposez désormais d'un pipeline de livraison dans votre projet et d'un job d'analyse qui fera partie du pipeline lorsque vous créerez une version.
Étapes suivantes
Suivez le guide de démarrage rapide : Analyser votre application à l'aide de métriques.
Consultez le schéma de configuration pour l'analyse dans la documentation de référence sur la configuration Cloud Deploy.
En savoir plus sur les Règles d'alerte Google Cloud Observability
En savoir plus sur l'automatisation du déploiement
En savoir plus sur les stratégies de déploiement