Cette page explique comment créer, mettre à jour, afficher et supprimer des pools privés Cloud Build. Si vous ne connaissez pas le fonctionnement des pools privés, consultez la page Présentation des pools privés.
Avant de commencer
Créez un projet Google Cloud ou choisissez-en un existant. Vous allez utiliser ce projet pour créer le pool privé.
-
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Pour utiliser les exemples de ligne de commande de ce guide, installez et configurez Google Cloud CLI.
Facultatif : Pour que les compilations puissent accéder aux ressources privées de votre réseau de cloud privé virtuel, vous devez configurer une connexion d'appairage entre votre réseau de cloud privé virtuel et le réseau de cloud privé virtuel où résident les pools privés. Pour obtenir des instructions, consultez la page Configurer votre environnement pour créer des pools privés.
Facultatif : Familiarisez-vous avec les configurations de types de machines et la disponibilité régionale. Pour en savoir plus, consultez
workerconfig
dans la documentation sur le schéma du fichier de configuration du pool privé.
Créer un pool privé
Pour obtenir les autorisations nécessaires pour créer un pool privé, demandez à votre administrateur de vous accorder le rôle IAM Propriétaire du WorkerPool Cloud Build (roles/cloudbuild.workerPoolOwner
) sur votre compte de service.
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.
Vous pouvez créer jusqu'à 10 pools privés par projet Google Cloud et par région. Pour créer un pool privé, procédez comme suit :
Console Google Cloud
Ouvrez la page Pool de nœuds de calcul dans la console Google Cloud :
Cliquez sur Créer un pool privé.
La page Créer un pool privé s'affiche.
Saisissez les informations suivantes pour créer votre pool privé :
Nom : saisissez un nom pour votre pool privé. Cette valeur ne peut contenir que des caractères alphanumériques
/[a-z][0-9]/
ou des tirets-
. Le nom de votre pool privé doit comporter entre 1 et 63 caractères.Région : sélectionnez la région dans laquelle vous souhaitez créer le pool privé.
Configuration de la machine : configurez les éléments suivants :
Série : choisissez une série de machines.
Type de machine : ce paramètre affiche les types de machines que le pool de nœuds de calcul peut utiliser, en fonction de la série de machines que vous avez sélectionnée. Les types de machines disponibles varient selon la région.
Taille du disque : saisissez une taille de disque pour votre pool privé. Spécifiez une valeur supérieure ou égale à 100 et inférieure ou égale à 4 000. Si vous ne fournissez pas de valeur, Cloud Build utilise une taille de disque de 100.
Virtualisation imbriquée : si vous avez sélectionné une machine de la série C3, vous pouvez activer la virtualisation imbriquée. Cette fonctionnalité vous permet d'exécuter des instances de machines virtuelles (VM) dans d'autres VM afin de créer vos propres environnements de virtualisation.
Sous Type de réseau, sélectionnez l'une des options suivantes :
Réseau par défaut : sélectionnez cette option si votre instance est accessible via l'Internet public. Lorsque l'option Réseau par défaut est sélectionnée, votre pool privé utilise le réseau du producteur de services. Pour en savoir plus, consultez Configurer l'environnement pour utiliser des pools privés dans un réseau VPC.
Réseau privé : sélectionnez cette option si votre instance est hébergée sur un réseau privé, puis procédez comme suit :
Projet : sélectionnez l'ID de votre projet Google Cloud .
Réseau : sélectionnez votre réseau dans le menu déroulant. Si vous n'avez pas créé de réseau, consultez Créer et gérer des réseaux VPC pour découvrir comment en créer un.
Plage d'adresses IP : saisissez la plage d'adresses IP internes que le réseau du producteur Cloud Build peut utiliser pour allouer des adresses IP aux VM qui maintiennent une connexion avec des dépôts privés.
Vous pouvez spécifier la plage à l'aide de la notation CIDR (Classless Inter-Domain Routing) au format
STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE
. Par exemple,192.0.2.0/24
a une longueur de préfixe de 24. Les 24 premiers bits de la plage d'adresses IP sont utilisés comme masque de sous-réseau (192.0.2.0
), tandis que les adresses d'hôte possibles vont de192.0.2.0
à192.0.2.255
.La valeur de la longueur de votre préfixe ne doit pas dépasser
/29
. Si aucune valeur n'est spécifiée pour la plage, la valeur par défaut/24
est automatiquement attribuée. Si aucune valeur n'est spécifiée pour la longueur du préfixe, des adresses IP sont automatiquement attribuées dans le réseau VPC appairé. Si aucune valeur n'est spécifiée pour l'adresse IP, une plage est automatiquement attribuée à l'adresse IP dans le réseau VPC appairé.
Attribuer des adresses IP externes : cette option est sélectionnée par défaut pour permettre aux pools privés d'accéder à l'Internet public. Décochez cette case pour restreindre l'accès à votre réseau privé.
Cliquez sur Créer pour créer votre pool privé.
gcloud
Deux options s'offrent à vous pour créer un pool privé à l'aide de gcloud
: Vous pouvez transmettre votre fichier de configuration de pool privé à la commande gcloud
ou transmettre les options de configuration directement à la commande gcloud
.
Transmettez le fichier de configuration du pool privé à la commande gcloud
:
Créez le fichier de configuration du pool privé au format YAML ou JSON.
Exécutez la commande
gcloud
suivante, oùPRIVATEPOOL_ID
est un identifiant unique pour votre pool privé,PRIVATEPOOL_CONFIG_FILE
est le nom de votre fichier de configuration de pool privé etREGION
la région dans laquelle vous souhaitez créer votre pool privé :gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGION
Un résultat semblable aux lignes suivantes doit s'afficher :
Created [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/private-pool]. NAME CREATE_TIME STATUS private-pool 2018-11-19T16:08:24+00:00 RUNNING
Transmettez les options de configuration directement à la commande gcloud
:
Exécutez la commande gcloud
suivante :
gcloud builds worker-pools create PRIVATEPOOL_ID \
--project=PRIVATEPOOL_PROJECT_ID \
--region=REGION \
--peered-network=PEERED_NETWORK \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE_GB \
--no-public-egress
Où :
PRIVATEPOOL_ID
: identifiant unique de votre pool de nœuds de calcul. Cette valeur doit contenir entre 1 et 63 caractères, et les caractères valides sont[a-zA-Z0-9_-]+
.PRIVATEPOOL_PROJECT_ID
: ID du Google Cloud projet dans lequel vous souhaitez créer votre pool privé.REGION
: l'une des régions disponibles.PEERED_NETWORK
: URL de la ressource réseau du réseau appairé avec le réseau du producteur de services.PEERED_NETWORK
doit être au formatprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
, oùNETWORK_PROJECT_ID
est l'ID du projet Google Cloud qui contient votre réseau VPC, etNETWORK_NAME
est le nom de votre réseau VPC. Si vous ne spécifiez pas de valeur, Cloud Build utilise le réseau du fournisseur de services.PRIVATEPOOL_DISK_SIZE_GB
: taille du disque associé au pool privé. Spécifiez une valeur supérieure ou égale à 100 et inférieure ou égale à 4 000. Si cette valeur n'est pas spécifiée, Cloud Build utilise une taille de disque de 100.--worker-disk-size
est remplacé si vous spécifiez une autre taille de disque à l'aide de--disk-size
lors de la commandegcloud builds submit
.PRIVATEPOOL_MACHINE_TYPE
: type de machine du nœud de calcul. Si aucune valeur n'est spécifiée, Cloud Build utilise la valeur par défaute2-standard-2
. Pour obtenir la liste des types de machines compatibles, consultez la section Schéma de fichier de configuration du pool privé.--worker-machine-type
est remplacé si vous spécifiez un type de machine différent à l'aide de--machine-type
lors de la commandegcloud builds submit
.--no-public-egress
: si cette option est définie, le pool privé est créé sans adresse IP externe. Définissez cette option si vous créez le pool privé dans un périmètre VPC Service Controls.
API
Créez votre fichier de configuration de pool privé nommé
workerpool.json
.Utilisez cURL pour appeler l'API Cloud Build :
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/?workerPoolId=PRIVATEPOOL_ID -d @workerpool.json
Où :
PRIVATEPOOL_PROJECT_ID
: ID du Google Cloud projet dans lequel vous souhaitez créer votre pool privé.PRIVATEPOOL_ID
: ID de votre pool privé. Cette valeur doit contenir entre 1 et 63 caractères, et les caractères valides sont[a-zA-Z0-9_-]+
.REGION
: l'une des régions disponibles pour créer votre pool privé.
Créer un pool privé dans un périmètre VPC Service Controls
Pour créer un pool privé avec un périmètre VPC Service Controls, consultez Utiliser VPC Service Controls.
Mettre à jour un pool privé
Pour obtenir les autorisations nécessaires pour créer un pool privé, demandez à votre administrateur de vous accorder le rôle IAM Éditeur de WorkerPool Cloud Build (roles/cloudbuild.workerPoolEditor
) sur votre compte de service.
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 mettre à jour la configuration d'un pool privé, procédez comme suit :
Console
Ouvrez la page Pool de nœuds de calcul dans la console Google Cloud :
Sélectionnez le projet dans lequel vous avez créé le pool privé.
Cliquez sur le nom du pool privé.
Sur la page Modifier le pool privé, mettez à jour le type de machine et la taille du disque si nécessaire.
Cliquez sur Enregistrer.
gcloud
En mettant à jour le fichier de configuration du pool privé :
Mettez à jour le champ que vous souhaitez modifier dans votre fichier de configuration du pool privé.
Exécutez la commande suivante, où
PRIVATEPOOL_ID
est l'identifiant unique de votre pool privé,REGION
la région dans laquelle se trouve votre pool privé etPRIVATEPOOL_CONFIG_FILE
le nom de votre fichier de configuration de pool privé :gcloud builds worker-pools update PRIVATEPOOL_ID \ --region=REGION \ --config-from-file=PRIVATEPOOL_CONFIG_FILE
En transmettant la valeur à mettre à jour directement à la commande gcloud builds
worker-pools update
:
gcloud builds worker-pools update PRIVATEPOOL_ID \
--region=REGION \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE
Où :
PRIVATEPOOL_ID
: ID de votre pool privé existant. Vous ne pouvez pas mettre à jour cette valeur. Vous devez spécifier un ID de pool privé existant.REGION
: région dans laquelle vous avez créé votre pool privé.PRIVATEPOOL_DISK_SIZE
: taille du disque mise à jour.PRIVATEPOOL_MACHINE_TYPE
est le type de machine mis à jour.
API
Dans votre fichier de configuration de pool privé, mettez à jour la taille du disque et le type de machine si nécessaire.
Utilisez cURL pour appeler l'API Cloud Build, en remplaçant les variables par les valeurs appropriées :
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID \ -d @workerpool.json
Où :
PRIVATEPOOL_ID
: ID de votre pool privé.PRIVATEPOOL_PROJECT_ID
: ID du Google Cloud projet qui contient votre pool privé.REGION
: région dans laquelle vous avez créé votre pool privé.
Afficher les détails de votre pool privé
Pour obtenir les autorisations nécessaires pour créer un pool privé, demandez à votre administrateur de vous accorder le rôle IAM Lecteur de pools de nœuds de calcul Cloud Build (roles/cloudbuild.workerPoolViewer
) sur votre compte de service.
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 afficher les détails d'un pool privé, procédez comme suit :
Console
Ouvrez la page Pool de nœuds de calcul dans la console Google Cloud :
Sélectionnez le projet dans lequel vous avez créé le pool privé.
Cliquez sur le nom du pool privé.
La page Modifier le pool privé s'affiche.
gcloud
Si vous ne connaissez pas l'ID de votre pool privé, exécutez la commande suivante pour répertorier les détails de votre pool privé :
gcloud builds worker-pools list --region=REGION --project=PRIVATEPOOL_PROJECT_ID
Où :
PRIVATEPOOL_PROJECT_ID
est l'ID du projetGoogle Cloud contenant le pool privé.REGION
est la région du pool privé.
Un résultat semblable aux lignes suivantes doit s'afficher :
NAME CREATE_TIME STATUS
projects/[PRIVATEPOOL_PROJECT_ID]/locations/us-central1/workerPools/[PRIVATEPOOL_ID] 2018-11-19T16:08:24+00:00 RUNNING
Si vous connaissez l'ID de votre pool privé, exécutez la commande suivante pour obtenir plus d'informations sur le pool privé :
gcloud builds worker-pools describe PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Où
PRIVATEPOOL_ID
: ID de votre pool privé.REGION
: région dans laquelle vous avez créé votre pool privé.PRIVATEPOOL_PROJECT_ID
: ID du Google Cloud projet qui contient votre pool privé.
API
Si vous ne connaissez pas l'ID de votre pool privé, exécutez la commande cURL suivante pour répertorier les détails de votre pool privé, où PRIVATEPOOL_PROJECT_ID
est l'ID du projet Google Cloud contenant le pool privé :
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools
Si vous connaissez l'ID de votre pool privé, exécutez la commande curl suivante pour obtenir les détails de votre pool privé :
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Où
PRIVATEPOOL_ID
: ID de votre pool privé.PRIVATEPOOL_PROJECT_ID
: ID du Google Cloud projet qui contient votre pool privé.REGION
: région dans laquelle vous avez créé votre pool privé.
Afficher les estimations de prix des pools privés
Lorsque vous créez ou mettez à jour un pool privé, la barre latérale Estimation mensuelle sur les pages Créer un pool privé et Modifier un pool privé affiche une estimation du coût de fonctionnement de votre pool par mois. Le calcul est basé sur les facteurs suivants :
- Nombre de CPU virtuels
- Type de machine
- Mémoire
- Minutes de compilation
- Région, uniquement pour les machines N2D et C3
Le prix estimé n'inclut pas les coûts liés à la taille de disque supplémentaire au-delà des 100 Go inclus par défaut. Il peut différer du prix final en fonction de la configuration de compilation finale, du nombre effectif de minutes de compilation utilisées et d'autres facteurs. Pour en savoir plus, consultez la page Tarifs de Cloud Build.
Supprimer un pool privé
Pour obtenir les autorisations nécessaires pour créer un pool privé, demandez à votre administrateur de vous accorder le rôle IAM Propriétaire du WorkerPool Cloud Build (roles/cloudbuild.workerPoolOwner
) sur votre compte de service.
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 supprimer un pool privé, procédez comme suit :
Console
Ouvrez la page Pool de nœuds de calcul dans la console Google Cloud :
Sur la ligne correspondant à votre pool privé, cliquez sur l'icône Corbeille.
gcloud
Pour supprimer un pool privé, exécutez la commande gcloud builds worker-pools
delete
:
gcloud builds worker-pools delete PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Où :
PRIVATEPOOL_ID
: ID de votre pool privé.PRIVATEPOOL_PROJECT_ID
: ID du Google Cloud projet qui contient votre pool privé.REGION
: région dans laquelle vous avez créé votre pool privé.
Une fois le pool privé supprimé, un résultat semblable aux lignes suivantes s'affiche :
Deleted [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/[PRIVATEPOOL_ID].
API
Utilisez cURL pour appeler l'API Cloud Build :
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Où :
PRIVATEPOOL_ID
: ID de votre pool privé.PRIVATEPOOL_PROJECT_ID
: ID du Google Cloud projet qui contient votre pool privé.REGION
: région dans laquelle vous avez créé votre pool privé.
Étape suivante
- Découvrez comment exécuter des compilations dans des pools privés.
- Découvrez comment utiliser VPC Service Controls avec des pools privés.