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 nouveau Google Cloud projet ou choisissez un projet existant. Vous allez utiliser ce projet pour créer le pool privé.
-
Activez l'API Cloud Build.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles. 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 type de machine et la disponibilité régionale. Pour en savoir plus, consultez
workerconfigdans la documentation sur le schéma de fichier de configuration du pool privé.
Créer un pool privé
Pour vous assurer que dispose des autorisations nécessaires pour créer un pool privé, demandez à votre administrateur d'attribuer le rôle IAM Propriétaire du pool de nœuds de calcul Cloud Build (roles/cloudbuild.workerPoolOwner) à sur votre compte de service.
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 les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Vous pouvez créer jusqu'à 10 pools privés par Google Cloud projet et par région. Pour créer un pool privé, procédez comme suit :
Google Cloud Console
Ouvrez la page Pool de nœuds de calcul dans la Google Cloud console :
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 les régions.
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 un 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 Google Cloud projet.
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 de producteurs Cloud Build peut utiliser pour allouer des VM qui maintiennent une connexion avec des dépôts privés.
Vous pouvez spécifier la plage à l'aide de la notation de routage CIDR (Classless Inter-Domain Routing) au format
STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE. Par exemple,192.0.2.0/24a 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/24est automatiquement attribuée. Si aucune valeur n'est spécifiée pour la longueur du préfixe, les 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 limiter 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.
Transmettre 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
gcloudsuivante, oùPRIVATEPOOL_IDest un identifiant unique pour votre pool privé,PRIVATEPOOL_CONFIG_FILEest le nom de votre fichier de configuration de pool privé etREGIONla 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 REGIONUn 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
Transmettre 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_NETWORKdoit être au formatprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, oùNETWORK_PROJECT_IDest l'ID du projet qui contient votre réseau VPC, etNETWORK_NAMEest le nom de votre réseau VPC. Google Cloud 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-sizeest remplacé si vous spécifiez une autre taille de disque à l'aide de--disk-sizelors 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-typeest remplacé si vous spécifiez un type de machine différent à l'aide de--machine-typelors 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.jsonOù :
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 vous assurer que dispose des autorisations nécessaires pour créer un pool privé, demandez à votre administrateur d'attribuer le rôle IAM Éditeur du pool de nœuds de calcul Cloud Build (roles/cloudbuild.workerPoolEditor) à sur votre compte de service.
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 les autorisations requises via 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 Google Cloud console :
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_IDest l'identifiant unique de votre pool privé,REGIONla région dans laquelle se trouve votre pool privé etPRIVATEPOOL_CONFIG_FILEle 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 gcloud builds
worker-pools update commande :
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: la région dans laquelle vous avez créé votre pool privé.PRIVATEPOOL_DISK_SIZE: taille du disque mise à jour.PRIVATEPOOL_MACHINE_TYPEest 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.jsonOù :
PRIVATEPOOL_ID: ID de votre pool privé.PRIVATEPOOL_PROJECT_ID: ID du Google Cloud projet qui contient votre pool privé.REGION: la région dans laquelle vous avez créé votre pool privé.
Afficher les détails de votre pool privé
Pour vous assurer que dispose des autorisations nécessaires pour créer un pool privé, demandez à votre administrateur d'attribuer le rôle IAM Lecteur du pool 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 Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer les autorisations requises via 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 Google Cloud console :
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_IDest l'ID du Google Cloud projet contenant le pool privé.REGIONest 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: la 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 Google Cloud projet 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 votre ID de 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: la région où vous avez créé votre pool privé.
Afficher les estimations de prix pour un pool privé
Lorsque vous créez ou mettez à jour un pool privé, la barre latérale Estimation mensuelle des pages Créer un pool privé et Modifier le pool privé affiche une estimation du coût d'exécution 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, pour les machines N2D et C3 uniquement
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 plus d'informations, consultez la page Tarifs de Cloud Build.
Supprimer un pool privé
Pour vous assurer que dispose des autorisations nécessaires pour créer un pool privé, demandez à votre administrateur d'attribuer le rôle IAM Propriétaire du pool de nœuds de calcul Cloud Build (roles/cloudbuild.workerPoolOwner) à sur votre compte de service.
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 les autorisations requises via 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 Google Cloud console :
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: la région où 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: la région où 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.