Utiliser les environnements d'exécution Cloud Deploy
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 validation et de postdéploiement. L'environnement d'exécution se compose des 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 validation et de postdéploiement
Compte de service (par défaut ou autre) qui appelle Cloud Deploy pour effectuer ces actions
Emplacement de stockage (par défaut ou autre) pour les fichiers manifestes rendus dans Cloud Storage
Le délai avant expiration de Cloud Build pour les opérations (par défaut ou personnalisé)
Cet article décrit l'environnement d'exécution par défaut, les comptes de service et le stockage pour Cloud Deploy, et indique pourquoi et comment vous pouvez changer ces valeurs par défaut.
Valeurs par défaut
Voici les valeurs par défaut que Cloud Deploy utilise pour s'exécuter, pour exécuter le rendu et le déploiement et pour stocker des éléments tels que les fichiers manifestes rendus:
Emplacement de stockage de Cloud Deploy par défaut
Cette valeur correspond au bucket Cloud Storage dans lequel Cloud Deploy stocke vos fichiers manifestes générés. 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:
Par défaut, Cloud Build dispose d'un délai avant expiration d'une heure pour les opérations qu'il effectue pour Cloud Deploy. Vous pouvez modifier ce délai avant expiration dans la spécification de l'environnement d'exécution dans la configuration cible.
Niveau de détail par défaut pour Skaffold, la CLI gcloud et kubectl
Par défaut, les niveaux de journalisation de ces outils sont définis sur leurs valeurs par défaut respectives, généralement warn ou l'équivalent. Vous pouvez modifier ce paramètre pour qu'il soit défini sur debug ou l'équivalent.
Les sections suivantes décrivent les circonstances dans lesquelles vous pouvez modifier l'une de ces valeurs et fournissent des liens vers des instructions pour ce faire.
À propos des pools de nœuds de calcul Cloud Build
L'environnement d'exécution Cloud Deploy peut utiliser l'un des éléments suivants:
Le pool de nœuds de calcul par défaut est un environnement hébergé sécurisé avec accès à l'Internet public. Les opérations de rendu, de déploiement, de prédéploiement, de postdéploiement et de validation sont exécutées dans ce pool, isolées des autres charges de travail.
Un pool privé
Les pools de nœuds de calcul privés sont des pools privés et dédiés qui peuvent être personnalisés davantage 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 évoluer à la hausse ou à la baisse jusqu'à zéro, sans avoir à configurer, à mettre à niveau ni à faire évoluer la moindre infrastructure.
La présentation des pools privés de Cloud Build décrit plus en détail 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 fonctionnalités.
Modifier l'environnement d'exécution Cloud Deploy
Vous pouvez changer l'environnement d'exécution Cloud Deploy dans les cas suivants:
Vous souhaitez effectuer des opérations de rendu, de déploiement, de prédéploiement, de postdéploiement ou de validation, ou une combinaison des cinq, 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 utiliser 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 rendus dans un emplacement différent 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 travailleurs par cible, de sorte que le pool soit utilisé pour RENDER, DEPLOY, PREDEPLOY, POSTDEPLOY ou VERIFY (ou une combinaison des cinq) pour cette cible uniquement.
Pour utiliser le pool de nœuds de calcul par défaut pour les opérations de rendu et de déploiement, vous n'avez rien à faire.
Voici un exemple de configuration cible qui spécifie un pool de nœuds de calcul privé pour DEPLOY et le pool de nœuds de calcul par défaut pour RENDER, PREDEPLOY, POSTDEPLOY et VERIFY:
Passer du compte de service d'exécution par défaut à un compte personnalisé
Comme pour le pool de nœuds de calcul, vous pouvez spécifier un autre compte de service à utiliser pour l'affichage ou le déploiement (ou les deux) par cible. Pour ce faire, ajoutez la ligne suivante à la configuration cible, après l'élément workerPool:
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 de cible.
Modifier l'emplacement de stockage
Pour remplacer le bucket de stockage par défaut de Cloud Deploy, ajoutez la ligne suivante à la définition de la cible dans la strophe workerPool:
artifactStorage: "gs://[bucket_name]/[dir]"
Cette configuration modifie l'emplacement où les fichiers manifestes générés sont stockés, mais n'affecte pas l'emplacement de la source de rendu.
Modifier le niveau de journalisation pour Skaffold, la gcloud CLI et kubectl
Pour modifier le niveau de journalisation de Skaffold, de la CLI gcloud et de kubectl, de leurs valeurs par défaut respectives à debug (ou l'équivalent), définissez verbose sur true dans les configurations d'exécution. Exemple :
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 le projet 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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (UTC)."],[[["\u003cp\u003eCloud Deploy's execution environment includes a Cloud Build worker pool, a service account, a storage location for rendered manifests, and a Cloud Build timeout, all of which have default settings.\u003c/p\u003e\n"],["\u003cp\u003eThe default Cloud Deploy settings use the default Cloud Build worker pool, the default Compute Engine service account, a Cloud Storage bucket for rendered manifests in the same region as the Cloud Deploy resources, and a one-hour Cloud Build timeout.\u003c/p\u003e\n"],["\u003cp\u003eYou can customize the Cloud Deploy execution environment per target, such as switching to a private Cloud Build worker pool, using a dedicated service account, or specifying a different Cloud Storage bucket for rendered manifests.\u003c/p\u003e\n"],["\u003cp\u003eChanging the execution environment is useful for deploying to private Google Kubernetes Engine clusters, isolating operations, or using dedicated service accounts with specific permissions.\u003c/p\u003e\n"],["\u003cp\u003eCloud Deploy can be configured to use a VPC Service Controls perimeter, but it requires a Cloud Build private worker pool and that the worker pool and the Cloud Deploy project be within the same security perimeter.\u003c/p\u003e\n"]]],[],null,["# Using Cloud Deploy execution environments\n\nA Cloud Deploy execution environment is the environment in which\nCloud Deploy executes its render, predeploy, deploy, verify, and\npostdeploy operations. The execution environment consists of the following\ncomponents:\n\n- The [Cloud Build worker pool](/build/docs/private-pools/private-pools-overview)\n (default or private) in which Cloud Deploy executes render,\n predeploy, deploy, verify, and postdeploy operations\n\n- The service account (default or alternate) that calls Cloud Deploy\n to perform these actions\n\n- The storage location (default or alternate) for rendered manifests in\n Cloud Storage\n\n- The Cloud Build timeout for operations (default or custom)\n\nThis article describes the default execution environment, service accounts, and\nstorage for Cloud Deploy, as well as why and how you can change these\ndefaults.\n\nDefaults\n--------\n\nThe following are the defaults that Cloud Deploy uses to run, to\nexecute rendering and deployment, and to store assets such as rendered manifests:\n\n- Default worker pool\n\n By default, Cloud Deploy runs in the default Cloud Build\n worker pool. However, you can [configure Cloud Deploy to use a Cloud Build\n private worker pool](/deploy/docs/config-files#executionconfigs).\n\n For more details about worker pools, see the Cloud Build\n [Overview of default pools and private pools](/build/docs/private-pools/private-pools-overview#overview_of_default_pools_and_private_pools).\n- Default execution service account\n\n By default, Cloud Deploy uses the [default Compute Engine\n service account](/deploy/docs/cloud-deploy-service-account#default_service_account).\n- Default Cloud Deploy storage location\n\n This value is the Cloud Storage bucket where Cloud Deploy\n stores your rendered manifests. By default, Cloud Deploy creates\n a Cloud Storage bucket, in the same [region](/deploy/docs/regions)\n as the Cloud Deploy resources, taking the following form:\n\n `\u003clocation\u003e.deploy-artifacts.\u003cproject ID\u003e.appspot.com`\n- Default Cloud Build timeout\n\n By default, Cloud Build has a timeout of 1 hour on operations it\n performs for Cloud Deploy. You can change that timeout in the\n execution environment specification in\n [target configuration](/deploy/docs/config-files#executionconfigs).\n- Default verbosity for Skaffold, gcloud CLI, and kubectl\n\n By default, log levels for these tools are set to their respective defaults,\n typically `warn` or the equivalent. You can [change this](#changing_log_level)\n to `debug` or the equivalent.\n\nThe sections that follow describe the circumstances under which you would change\nany of these values, and links to instructions for doing so.\n\nAbout Cloud Build worker pools\n------------------------------\n\nThe Cloud Deploy execution environment can use one of the following:\n\n- The [Cloud Build default pool](/build/docs/private-pools/private-pools-overview)\n\n The default worker pool is a secure, hosted environment with access to the\n public internet. Render, deploy, predeploy, postdeploy, and verify operations\n are executed in that pool, isolated from other workloads.\n- A private pool\n\n [Private worker pools](/build/docs/private-pools/private-pools-overview) are\n private, dedicated pools that can be customized more than the default worker\n pool. That customization can include the ability to access resources in a\n private network. Like the default worker pool, private worker pools are hosted\n and fully managed by Cloud Build. These pools can scale up or\n scale down to zero, with no infrastructure to set up, upgrade, or scale.\n\n The Cloud Build [Private pools overview](/build/docs/private-pools/private-pools-overview)\n describes default worker pools and private worker pools more thoroughly,\n including a table comparing their features.\n\n| **Note:** Cloud Build private worker pools are regional resources. Cloud Deploy lets you configure [targets](/deploy/docs/terminology#target) with private pools in other regions. This configuration makes it possible to share private worker pools among targets, and allows cross-regional dependencies.\n\nChanging the Cloud Deploy execution environment\n-----------------------------------------------\n\nYou might change the Cloud Deploy execution environment under the\nfollowing circumstances:\n\n- You want to [deploy to a private Google Kubernetes Engine cluster](/build/docs/private-pools/use-in-private-network#deploying-to-clusters)\n\n- You want render, deploy, predeploy, postdeploy, or verify operations, or a\n combination of the five, to be performed in an environment that's isolated from\n other organizations.\n\n- You want these operations to be performed in an environment that isn't\n connected to the public internet.\n\n- You want separate environments for render and deploy.\n\n- You want to use a dedicated service account with permissions that are more\n specific to your use than the permissions available in the default service\n account.\n\n- You want to store rendered manifests in a location different from the default\n Cloud Storage bucket.\n\nConfiguration of all three parts of the execution environment (worker pool, service\naccount, and storage) is done per target, in [each target's YAML configuration](/deploy/docs/config-files#target_definitions).\n\n### Changing from the default pool to a private pool\n\nYou configure worker pools [per target](/deploy/docs/config-files#target_definitions),\nso that the pool is used for `RENDER`, `DEPLOY`, `PREDEPLOY`, `POSTDEPLOY`, or\n`VERIFY` (or a combination of the five) *for that target only*.\n\nTo use the default worker pool for both render and deploy operations, you don't\nneed to do anything.\n| **Note:** if you want to configure a target to use a private worker pool for either operation (`RENDER` or `DEPLOY`), but the default worker pool for the other, you must configure both. That is, you can't specify a private worker pool for `DEPLOY` but assume Cloud Deploy will perform rendering in the default pool.\n\nThe following is a sample target configuration that specifies a private worker\npool for `DEPLOY`, and the default worker pool for `RENDER`, `PREDEPLOY`,\n`POSTDEPLOY` and `VERIFY`: \n\n executionConfigs:\n - usages:\n - DEPLOY\n privatePool:\n workerPool: \"projects/p123/locations/us-central1/workerPools/wp123\"\n - usages:\n - RENDER\n - PREDEPLOY\n - VERIFY\n - POSTDEPLOY\n\n| **Note:** if Cloud Deploy is running in a different project from the worker pool's project, make sure the [service agent](/deploy/docs/cloud-deploy-service-account#service_agent) has permission on the worker pool in that project. You can use either the `roles/cloudbuild.workerPoolUser` role or the `cloudbuild.workerpools.use` direct permission.\n\nFor more information about how to configure private pools for targets, see\n[Delivery pipeline configuration documentation](/deploy/docs/config-files#executionconfigs).\n\n### Changing from the default to custom execution service account\n\nAs with the worker pool, you can specify an alternate service account to use for\nrendering or deploying (or both) per target. To do so, add the following line to\nthe target configuration, after the `workerPool` element:\n\n`serviceAccount: \"[name]@[project_name].iam.gserviceaccount.com\"`\n\nThe specified service account must include the `clouddeploy.jobRunner` role, as\ndescribed in the [Cloud Deploy service accounts](/deploy/docs/cloud-deploy-service-account)\ndocument.\n\nSee [Target definitions](/deploy/docs/config-files#target_definitions) for more\ndetails on this configuration.\n\n### Changing the storage location\n\nTo change the storage bucket from the Cloud Deploy default, add the\nfollowing line to the [target definition](/deploy/docs/config-files#target_definitions)\nin the `workerPool` stanza:\n\n`artifactStorage: \"gs://[bucket_name]/[dir]\"`\n\nThis configuration changes where the rendered manifests are stored, but does not\naffect [where the rendering source is stored](/sdk/gcloud/reference/deploy/releases/create#--source).\n\n### Changing the log level for Skaffold, gcloud CLI, and kubectl\n\nTo change the log level for Skaffold, gcloud CLI, and kubectl, from\ntheir respective defaults to `debug` (or the equivalent), set `verbose` to\n`true` in the execution configs. Here's an example: \n\n executionConfigs:\n - usages:\n - [RENDER | PREDEPLOY| DEPLOY | VERIFY | POSTDEPLOY]\n workerPool:\n serviceAccount:\n artifactStorage:\n executionTimeout:\n verbose: true\n\nUsing Cloud Deploy in a VPC Service Controls perimeter\n------------------------------------------------------\n\nCloud Deploy supports [VPC Service Controls](/vpc-service-controls).\n\nYou can follow the [VPC Service Controls quickstart](/vpc-service-controls/docs/set-up-service-perimeter)\nto set up a service perimeter.\n\n### Limitations\n\n- You must use a Cloud Build private worker pool for the target's\n execution environment---not the default worker pool.\n\n- The project that contains the worker pool and the project that contains your\n Cloud Deploy resources must remain in the same VPC Service Controls\n security perimeter.\n\n- Any GKE cluster you deploy to in the\n VPC Service Controls perimeter must be a private cluster.\n\n To set up a private pool for a private cluster, see [this tutorial](https://cloud.google.com/architecture/accessing-private-gke-clusters-with-cloud-build-private-pools).\n\nWhat's next\n-----------\n\n- Find out more about [Cloud Deploy target configuration](/deploy/docs/config-files#target_definitions).\n\n- Read about [Cloud Build private pools](/build/docs/private-pools/private-pools-overview).\n\n- Read about [how Cloud Build uses VPC Service Controls](/build/docs/private-pools/using-vpc-service-controls).\n\n- Learn about how Cloud Deploy uses [service accounts](/deploy/docs/cloud-deploy-service-account).\n\n- [Access private GKE clusters with Cloud Build private pools](/architecture/accessing-private-gke-clusters-with-cloud-build-private-pools)."]]