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 sélectionnez un projet existant. Vous allez utiliser ce projet pour créer le pool privé.

  2. Activez l'API Cloud Build

    Activer l'API

  3. Pour utiliser les exemples de ligne de commande de ce guide, installez et configurez la 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.

Créer un pool privé

Autorisations IAM: vous devez disposer du rôle Propriétaire de pool de nœuds de calcul Cloud Build pour effectuer cette tâche. Pour obtenir des instructions sur l'attribution de ce rôle, consultez la page Configurer l'accès aux ressources Cloud Build.

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

  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 souhaitez créer le pool privé.

  3. Sur la page Pool de nœuds de calcul, cliquez sur Créer.

    Le panneau latéral Créer un pool privé s'affiche.

    Saisissez les informations suivantes pour créer votre pool privé:

    1. Nom: saisissez le nom de 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.

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

    3. Type de machine: sélectionnez le type de machine Compute Engine que vous souhaitez utiliser pour votre pool privé.

    4. Available disk size (Taille de disque disponible) : saisissez une taille de disque pour votre pool privé. Spécifiez une valeur supérieure ou égale à 100 et inférieure ou égale à 1 000. Si aucune valeur n'est fournie, Cloud Build utilise une taille de disque de 100.

      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 la section Configurer un 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é.

        1. Project (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 apprendre à créer un réseau.

        3. Plage d'adresses IP: saisissez la plage d'adresses IP internes que le réseau de producteurs Cloud Build peut utiliser pour allouer aux VM qui maintiennent une connexion avec des dépôts privés.

          Vous pouvez spécifier la plage à l'aide d'une notation de routage 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ôtes possibles sont comprises entre 192.0.2.0 et 192.0.2.255.

          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, les adresses IP sont automatiquement attribuées au sein du 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 au sein du réseau VPC appairé.

    5. Assign external IPs (Attribuer des adresses IP externes) : cette option est sélectionnée par défaut pour autoriser les pools privés à accéder à l'Internet public. Décochez cette case pour restreindre l'accès à votre réseau privé.

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

  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
    

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

Remplacez les valeurs d'espace réservé dans les commandes ci-dessus par les éléments suivants :

  • 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 projet Google Cloud 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 à 1 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
    

    Remplacez les valeurs d'espace réservé dans la commande ci-dessus par les éléments suivants :

    • PRIVATEPOOL_PROJECT_ID: ID du projet Google Cloud 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

Si vous créez un pool privé dans un périmètre VPC Service Controls, consultez la page Utiliser VPC Service Controls.

Mettre à jour un pool privé

Autorisations IAM: vous devez disposer du rôle Éditeur de pools de nœuds de calcul Cloud Build pour effectuer cette tâche. Pour obtenir des instructions sur l'attribution d'un rôle, consultez la page Configurer l'accès aux ressources Cloud Build.

Vous pouvez mettre à jour la taille de disque et le type de machine d'un pool privé existant. Pour mettre à jour 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. Dans le panneau latéral Modifier le pool privé, mettez à jour le type de machine et/ou la taille du disque.

  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 est la région dans laquelle se trouve votre pool privé et PRIVATEPOOL_CONFIG_FILE est 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

Remplacez les valeurs d'espace réservé dans les commandes ci-dessus par les éléments suivants :

  • 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 le fichier de configuration du pool privé, mettez à jour la taille du disque et/ou le type de machine.

  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
    

    Remplacez les valeurs d'espace réservé dans la commande ci-dessus par les éléments suivants :

    • PRIVATEPOOL_ID : ID de votre pool privé.
    • PRIVATEPOOL_PROJECT_ID: ID du projet Google Cloud contenant votre pool privé.
    • REGION: région dans laquelle vous avez créé votre pool privé.

Afficher les détails de votre pool privé

Autorisations IAM: vous devez disposer du rôle Lecteur de pools de nœuds de calcul Cloud Build pour effectuer cette tâche. Pour obtenir des instructions sur l'attribution d'un rôle, consultez la page Configurer l'accès aux ressources Cloud Build.

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

Le panneau latéral Modifier le pool privé s'affiche. Il contient les détails du pool privé.

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 --project=PRIVATEPOOL_PROJECT_ID

PRIVATEPOOL_PROJECT_ID est l'ID du projet Google Cloud qui contient le 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

Remplacez les valeurs d'espace réservé dans la commande ci-dessus par les éléments suivants :

  • PRIVATEPOOL_ID : ID de votre pool privé.
  • REGION: région dans laquelle vous avez créé votre pool privé.
  • PRIVATEPOOL_PROJECT_ID: ID du projet Google Cloud contenant votre pool privé.

API

Si vous ne connaissez pas l'ID de votre pool privé, exécutez la commande cURL suivante pour afficher les détails de votre pool privé, où PRIVATEPOOL_PROJECT_ID correspond à 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 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

Remplacez les valeurs d'espace réservé dans les commandes ci-dessus par les éléments suivants :

  • PRIVATEPOOL_ID : ID de votre pool privé.
  • PRIVATEPOOL_PROJECT_ID: ID du projet Google Cloud contenant votre pool privé.
  • REGION : région dans laquelle vous avez créé votre pool privé.

Supprimer un pool privé

Autorisations IAM: vous devez disposer du rôle Propriétaire de pool de nœuds de calcul Cloud Build pour effectuer cette tâche. Pour obtenir des instructions sur l'attribution d'un rôle, consultez la page Configurer l'accès aux ressources Cloud Build.

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

Remplacez les valeurs d'espace réservé dans la commande ci-dessus par les éléments suivants :

  • PRIVATEPOOL_ID : ID de votre pool privé.
  • PRIVATEPOOL_PROJECT_ID: ID du projet Google Cloud contenant 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

Remplacez les valeurs d'espace réservé dans les commandes ci-dessus par les éléments suivants :

  • PRIVATEPOOL_ID : ID de votre pool privé.
  • PRIVATEPOOL_PROJECT_ID: ID du projet Google Cloud contenant votre pool privé.
  • REGION : région dans laquelle vous avez créé votre pool privé.

Étapes suivantes