Créer et gérer des pools privés

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

  1. Créez un projet Google Cloud ou choisissez-en un existant. Vous allez utiliser ce projet pour créer le pool privé.

  2. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  3. Pour utiliser les exemples de ligne de commande de ce guide, installez et configurez Google Cloud CLI.

  4. 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.

  5. 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

  1. Ouvrez la page Pool de nœuds de calcul dans la console Google Cloud  :

    Ouvrir la page Pool de nœuds de calcul Cloud Build

  2. 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é :

  3. 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.

  4. Région : sélectionnez la région dans laquelle vous souhaitez créer le pool privé.

  5. Configuration de la machine : configurez les éléments suivants :

    1. Série : choisissez une série de machines.

    2. 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.

    3. 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.

    4. 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.

  6. Sous Type de réseau, sélectionnez l'une des options suivantes :

    1. 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.

    2. Réseau privé : sélectionnez cette option si votre instance est hébergée sur un réseau privé, puis procédez comme suit :

      1. Projet : sélectionnez l'ID de votre projet Google Cloud .

      2. 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.

      3. 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 de 192.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é.

    3. 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é.

  7. 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 :

  1. Créez le fichier de configuration du pool privé au format YAML ou JSON.

  2. 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é et REGION 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 format projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, où NETWORK_PROJECT_ID est l'ID du projet Google Cloud qui contient votre réseau VPC, et NETWORK_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 commande gcloud 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éfaut e2-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 commande gcloud 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

  1. Créez votre fichier de configuration de pool privé nommé workerpool.json.

  2. 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

  1. Ouvrez la page Pool de nœuds de calcul dans la console Google Cloud  :

    Ouvrir la page Pool de nœuds de calcul Cloud Build

  2. Sélectionnez le projet dans lequel vous avez créé le pool privé.

  3. Cliquez sur le nom du pool privé.

  4. Sur la page Modifier le pool privé, mettez à jour le type de machine et la taille du disque si nécessaire.

  5. Cliquez sur Enregistrer.

gcloud

En mettant à jour le fichier de configuration du pool privé :

  1. Mettez à jour le champ que vous souhaitez modifier dans votre fichier de configuration du pool privé.

  2. 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é et PRIVATEPOOL_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

  1. Dans votre fichier de configuration de pool privé, mettez à jour la taille du disque et le type de machine si nécessaire.

  2. 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

  1. Ouvrez la page Pool de nœuds de calcul dans la console Google Cloud  :

    Ouvrir la page Pool de nœuds de calcul Cloud Build

  2. Sélectionnez le projet dans lequel vous avez créé le pool privé.

  3. 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

  • 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

  • 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

  1. Ouvrez la page Pool de nœuds de calcul dans la console Google Cloud  :

    Ouvrir la page Pool de nœuds de calcul Cloud Build

  2. 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