Utiliser les environnements d'exécution Cloud Deploy

Un environnement d'exécution Cloud Deploy est l'environnement dans lequel Cloud Deploy exécute ses opérations de rendu, de prédéploiement, de déploiement, de vérification et de postdéploiement. L'environnement d'exécution comprend les composants suivants:

  • Pool de nœuds de calcul Cloud Build (par défaut ou privé) dans lequel Cloud Deploy exécute les opérations de rendu, de prédéploiement, de déploiement, de vérification et de postdéploiement

  • Compte de service (par défaut ou alternatif) qui appelle Cloud Deploy pour effectuer ces actions

  • Emplacement de stockage (par défaut ou alternatif) des fichiers manifestes rendus dans Cloud Storage

  • Délai Cloud Build pour les opérations (par défaut ou personnalisées)

Cet article décrit l'environnement d'exécution par défaut, les comptes de service et l'espace de stockage de Cloud Deploy, et explique pourquoi et comment les modifier.

Valeurs par défaut

Cloud Deploy utilise les valeurs par défaut suivantes pour exécuter le rendu et le déploiement, et pour stocker des éléments tels que les fichiers manifestes rendus:

  • Pool de nœuds de calcul par défaut

    Par défaut, Cloud Deploy s'exécute dans le pool de nœuds de calcul Cloud Build par défaut. Toutefois, vous pouvez configurer Cloud Deploy pour utiliser un pool de nœuds de calcul privé Cloud Build.

    Pour en savoir plus sur les pools de nœuds de calcul, consultez la section Cloud Build Présentation des pools par défaut et des pools privés.

  • Compte de service d'exécution par défaut

    Par défaut, Cloud Deploy utilise le compte de service Compute Engine par défaut.

  • Emplacement de stockage par défaut de Cloud Deploy

    Cette valeur correspond au bucket Cloud Storage dans lequel Cloud Deploy stocke vos fichiers manifestes rendus. Par défaut, Cloud Deploy crée un bucket Cloud Storage dans la même région que les ressources Cloud Deploy, sous la forme suivante:

    <location>.deploy-artifacts.<project ID>.appspot.com

  • Délai avant expiration de Cloud Build par défaut

    Par défaut, Cloud Build dispose d'un délai d'inactivité d'une heure sur les opérations effectuées pour Cloud Deploy. Vous pouvez modifier ce délai dans la spécification de l'environnement d'exécution dans la configuration de la cible.

Les sections suivantes décrivent les circonstances dans lesquelles vous pouvez modifier l'une de ces valeurs et renvoient vers des instructions à ce sujet.

À propos des pools de nœuds de calcul Cloud Build

L'environnement d'exécution Cloud Deploy peut utiliser l'une des méthodes suivantes:

  • Le pool par défaut Cloud Build

    Le pool de nœuds de calcul par défaut est un environnement hébergé et sécurisé qui a accès à l'Internet public. Effectuez le rendu, le déploiement, le prédéploiement, le post-déploiement et la vérification des opérations, qui sont exécutés dans ce pool et isolés des autres charges de travail.

  • Piscine privée

    Les pools de nœuds de calcul privés sont des pools privés et dédiés qui peuvent être personnalisés plus que le pool de nœuds de calcul par défaut. Cette personnalisation peut inclure la possibilité d'accéder aux ressources d'un réseau privé. Comme le pool de nœuds de calcul par défaut, les pools de nœuds de calcul privés sont hébergés et entièrement gérés par Cloud Build. Ces pools peuvent effectuer un scaling à la hausse ou à la baisse (jusqu'à zéro), sans infrastructure à configurer, ni à mettre à niveau, ni à effectuer un scaling à la hausse ou à la baisse.

    La présentation des pools privés de Cloud Build décrit de manière plus détaillée les pools de nœuds de calcul par défaut et les pools de nœuds de calcul privés, y compris un tableau comparant leurs caractéristiques.

Modifier l'environnement d'exécution Cloud Deploy

Vous pouvez modifier l'environnement d'exécution de Cloud Deploy dans les cas suivants:

  • Vous souhaitez déployer sur un cluster Google Kubernetes Engine privé

  • Vous souhaitez que les opérations de rendu, de déploiement, de prédéploiement, de post-déploiement ou de vérification, ou une combinaison des cinq, soient effectuées dans un environnement isolé des autres organisations.

  • Vous souhaitez que ces opérations soient effectuées dans un environnement qui n'est pas connecté à l'Internet public.

  • Vous souhaitez des environnements distincts pour le rendu et le déploiement.

  • Vous souhaitez utiliser un compte de service dédié avec des autorisations plus spécifiques à votre utilisation que celles disponibles dans le compte de service par défaut.

  • Vous souhaitez stocker les fichiers manifestes affichés dans un emplacement différent de celui du bucket Cloud Storage par défaut.

La configuration des trois parties de l'environnement d'exécution (pool de nœuds de calcul, compte de service et stockage) est effectuée par cible, dans la configuration YAML de chaque cible.

Passer du pool par défaut à un pool privé

Vous configurez des pools de nœuds de calcul par cible, de sorte qu'ils soient utilisés pour RENDER, DEPLOY, PREDEPLOY, POSTDEPLOY ou VERIFY (ou une combinaison des cinq) pour cette cible uniquement.

Si vous souhaitez utiliser le pool de nœuds de calcul par défaut pour les opérations de rendu et de déploiement, aucune action n'est requise de votre part.

Voici un exemple de configuration cible qui spécifie un pool de nœuds de calcul privé pour DEPLOY, ainsi que le pool de nœuds de calcul par défaut pour RENDER, PREDEPLOY, POSTDEPLOY et VERIFY:

executionConfigs:
- usages:
  - DEPLOY
  workerPool: "projects/p123/locations/us-central1/workerPools/wp123"
- usages:
  - RENDER
  - PREDEPLOY
  - VERIFY
  - POSTDEPLOY

Pour en savoir plus sur la configuration des pools privés pour les cibles, consultez la documentation sur la configuration du pipeline de livraison.

Passer du compte de service d'exécution par défaut à un compte de service d'exécution personnalisé

Comme pour le pool de nœuds de calcul, vous pouvez spécifier un autre compte de service à utiliser pour le rendu et le déploiement (ou les deux) par cible. Pour ce faire, ajoutez la ligne suivante à la configuration cible, après l'élément workerPool:

serviceAccount: "[name]@[project_name].iam.gserviceaccount.com"

Le compte de service spécifié doit inclure le rôle clouddeploy.jobRunner, comme décrit dans le document Comptes de service Cloud Deploy.

Pour en savoir plus sur cette configuration, consultez la section Définitions des cibles.

Modifier l'emplacement de stockage

Pour modifier le bucket de stockage par défaut de Cloud Deploy, ajoutez la ligne suivante à la définition de la cible dans le bloc workerPool:

artifactStorage: "gs://[bucket_name]/[dir]"

Cette configuration modifie l'emplacement de stockage des fichiers manifestes affichés, mais n'affecte pas l'emplacement de stockage de la source de rendu.

Utiliser Cloud Deploy dans un périmètre VPC Service Controls

Cloud Deploy est compatible avec VPC Service Controls.

Vous pouvez suivre le guide de démarrage rapide de VPC Service Controls pour configurer un périmètre de service.

Limites

  • Vous devez utiliser un pool de nœuds de calcul privé Cloud Build pour l'environnement d'exécution de la cible, et non le pool de nœuds de calcul par défaut.

  • Le projet contenant le pool de nœuds de calcul et celui contenant vos ressources Cloud Deploy doivent rester dans le même périmètre de sécurité VPC Service Controls.

  • Un cluster GKE vers lequel vous déployez dans le périmètre VPC Service Controls doit être un cluster privé.

    Pour configurer un pool privé pour un cluster privé, consultez ce tutoriel.

Étapes suivantes