L'environnement d'exécution Cloud Deploy est l'environnement dans lequel Cloud Deploy exécute ses processus de rendu, de prédéploiement, de déploiement, de vérification et les opérations de post-déploiement. L'environnement d'exécution comprend les éléments suivants : composants:
Pool de nœuds de calcul Cloud Build (par défaut ou privé) dans lequel Cloud Deploy exécute le rendu, les opérations de prédéploiement, de déploiement, de vérification et de post-dé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 affichés 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 d'espace de stockage pour Cloud Deploy, et vous explique pourquoi et comment valeurs par défaut.
Valeurs par défaut
Voici les paramètres par défaut utilisés par Cloud Deploy pour s'exécuter, pour exécuter le rendu et le déploiement, et 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 l'environnement Cloud Build un pool de nœuds de calcul. Cependant, vous pouvez configurer Cloud Deploy pour qu'il utilise Cloud Build un pool de nœuds de calcul privé.
Pour en savoir plus sur les pools de nœuds de calcul, consultez 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 l'environnement d'Compute Engine de compte de service Google.
Emplacement de stockage Cloud Deploy par défaut
Cette valeur correspond au bucket Cloud Storage dans lequel Cloud Deploy stocke les fichiers manifestes affiché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:
<location>.deploy-artifacts.<project ID>.appspot.com
Délai avant expiration par défaut de Cloud Build
Par défaut, Cloud Build a un délai d'inactivité d'une heure pour les opérations qu'il pour Cloud Deploy. Vous pouvez modifier ce délai dans la section la spécification de l'environnement d'exécution configuration cible.
Niveau de détail par défaut pour Skaffold, gcloud CLI 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 équivalent. Vous pouvez modifier ce paramètre. pardebug
ou équivalent.
Les sections suivantes décrivent les circonstances dans lesquelles vous changeriez l'une de ces valeurs, et des liens vers des instructions pour le 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 Cloud Build par défaut
Le pool de nœuds de calcul par défaut est un environnement hébergé sécurisé avec accès l'Internet public. Effectuer le rendu, le déploiement, le prédéploiement, le post-déploiement et la vérification des opérations sont exécutés dans ce pool et isolés des autres charges de travail.
Une 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 en plus du nœud de calcul par défaut d'un pool d'utilisateurs. Cette personnalisation peut inclure la possibilité d'accéder aux ressources réseau privé virtuel. 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é par Cloud Build. Ces pools peuvent augmenter ou et effectuent un scaling à zéro instance, sans aucune infrastructure à mettre en place, à mettre à niveau ou à faire évoluer.
La présentation des pools privés 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 de comparaison de leurs caractéristiques.
Modifier l'environnement d'exécution Cloud Deploy
Vous pouvez modifier l'environnement d'exécution Cloud Deploy dans la section les circonstances suivantes:
Vous souhaitez déployer sur un cluster Google Kubernetes Engine privé
Vous souhaitez effectuer le rendu, le déploiement, le prédéploiement, le post-déploiement ou la validation des opérations, ou dans un environnement isolé de d'autres organisations.
Vous souhaitez que ces opérations soient effectuées dans un environnement 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 les autorisations disponibles dans le service de service.
Vous souhaitez stocker les fichiers manifestes affichés dans un emplacement différent de celui par défaut bucket Cloud Storage.
Configuration des trois parties de l'environnement d'exécution (pool de nœuds de calcul, service et le 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,
afin 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 pas besoin n'ont pas besoin de faire quoi que ce soit.
Voici un exemple de configuration cible qui spécifie un nœud de calcul privé
pour DEPLOY
et le pool de nœuds de calcul par défaut pour RENDER
, PREDEPLOY
,
POSTDEPLOY
et VERIFY
:
executionConfigs:
- usages:
- DEPLOY
privatePool:
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 page Documentation sur la configuration du pipeline de livraison
Passer du compte de service 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
lors d'un rendu ou d'un déploiement (ou des 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
, car
décrit dans la documentation sur les comptes de service Cloud Deploy
document.
Pour en savoir plus, consultez les définitions des cibles. les détails de cette configuration.
Modifier l'emplacement de stockage
Pour modifier le bucket de stockage par défaut dans Cloud Deploy, ajoutez le
à la définition de la cible.
dans la section workerPool
:
artifactStorage: "gs://[bucket_name]/[dir]"
Cette configuration modifie l'emplacement de stockage des fichiers manifestes affichés, mais ne détermine l'emplacement de stockage de la source de rendu.
Modifier le niveau de journalisation pour Skaffold, gcloud CLI et kubectl
Pour modifier le niveau de journalisation de Skaffold, de gcloud CLI et de kubectl, à partir de
leurs valeurs par défaut respectives sur debug
(ou l'équivalent), définissez verbose
sur
true
dans les configurations d'exécution. Exemple :
executionConfigs:
- usages:
- [RENDER | PREDEPLOY| DEPLOY | VERIFY | POSTDEPLOY]
workerPool:
serviceAccount:
artifactStorage:
executionTimeout:
verbose: true
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 d'exécution, et non le pool de nœuds de calcul par défaut.
Le projet qui contient le pool de nœuds de calcul et celui qui contient vos Les ressources Cloud Deploy doivent rester dans le même espace de contrôle VPC Service Controls périmètre de sécurité.
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.
Étape suivante
Apprenez-en plus sur la configuration de la cible Cloud Deploy.
Apprenez-en plus sur les pools privés Cloud Build.
Découvrez comment Cloud Deploy utilise les comptes de service.
Accéder aux clusters GKE privés avec les pools privés Cloud Build.