Crea y administra grupos privados

En esta página, se describe cómo crear, actualizar, ver y borrar grupos privados de Cloud Build. Si no estás familiarizado con los grupos privados, consulta la descripción general de los grupos privados.

Antes de comenzar

  1. Crea un proyecto de Google Cloud nuevo o elige uno existente. Usarás este proyecto para crear el grupo privado.

  2. Habilita la API de Cloud Build.

    Habilita la API

  3. Para usar los ejemplos de la línea de comandos de esta guía, instala y configura Google Cloud CLI.

  4. [Opcional] Para que las compilaciones accedan a los recursos privados desde tu red de nube privada virtual, debes configurar una conexión de intercambio de tráfico entre tu red de nube privada virtual y la red de nube privada virtual donde residen los grupos privados. Si quieres obtener instrucciones, consulta Configura tu entorno para crear grupos privados.

Crea un nuevo grupo privado

Permisos de IAM: Necesitas la función Propietario del grupo de trabajadores de Cloud Build para realizar esta tarea. Si quieres obtener instrucciones para otorgar este rol, consulta Configura el acceso a los recursos de Cloud Build.

Puedes crear hasta 10 grupos privados por proyecto de Google Cloud y por región. Para crear un grupo privado nuevo, sigue estos pasos:

Consola

  1. Abre la página Grupo de trabajadores en la consola de Google Cloud:

    Abrir la página de grupos de trabajadores de Cloud Build

  2. Selecciona el proyecto en el que deseas crear el grupo privado.

  3. En la página Grupo de trabajadores, haz clic en Crear.

    Verás el panel lateral Crear grupo privado.

    Ingresa la siguiente información para crear tu grupo privado:

    1. Nombre: Ingresa un nombre para el grupo privado. Este valor solo puede contener caracteres alfanuméricos /[a-z][0-9]/ o guiones -. El nombre del grupo privado debe tener entre 1 y 63 caracteres.

    2. Región: Selecciona la región en la que deseas crear el grupo privado.

    3. Tipo de máquina: Selecciona el tipo de máquina de Compute Engine que deseas usar para el grupo privado.

    4. Tamaño de disco disponible: ingresa un tamaño de disco para el grupo privado. Especifica un valor mayor o igual que 100 y menor o igual que 1,000. Si no se proporciona, Cloud Build usa un tamaño de disco de 100.

      En Tipo de red, selecciona una de las siguientes opciones:

      1. Red predeterminada: Selecciona esta opción si se puede acceder a tu instancia a través de la Internet pública. Cuando se selecciona la opción Red predeterminada, el grupo privado usa la red del productor de servicios. Si deseas obtener más información, consulta Configura el entorno para usar grupos privados en una red de VPC.

      2. Red privada: Selecciona esta opción si tu instancia está alojada en una red privada.

        1. Project (Proyecto): Selecciona tu ID del proyecto de Google Cloud.

        2. Red: Selecciona tu red en el menú desplegable. Si no creaste una red, consulta Cómo crear y administrar redes de VPC para obtener información sobre cómo crear una red.

        3. Rango de IP: Ingresa el rango de IP internas que la red de productor de Cloud Build puede usar para asignar a las VM que mantienen una conexión con repositorios privados.

          Puedes especificar el rango con la notación de enrutamiento entre dominios sin clases (CIDR) en el formato STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE. Por ejemplo, 192.0.2.0/24 tiene una longitud de prefijo de 24. Los primeros 24 bits del rango de IP se utilizan como la máscara de subred (192.0.2.0), mientras que las posibles direcciones de host varían de 192.0.2.0 a 192.0.2.255.

          El valor de la longitud de tu prefijo no debe exceder /29. Si no se especifica un valor para el rango, se asigna automáticamente un valor predeterminado de /24. Si no se especifica ningún valor para la longitud del prefijo, las direcciones IP se asignan automáticamente dentro de la red de VPC con intercambio de tráfico. Si no se especifica ningún valor para la dirección IP, se le asignará automáticamente un rango dentro de la red de VPC con intercambio de tráfico.

    5. Asignar IP externas: Esta opción está seleccionada de forma predeterminada para permitir que los grupos privados accedan a la Internet pública. Desmarca esta casilla para restringir el acceso a tu red privada.

  4. Haz clic en Crear para crear el grupo privado.

gcloud

Tienes dos opciones para crear un nuevo grupo privado con gcloud: puedes pasar tu archivo de configuración de grupo privado al comando gcloud o pasar las opciones de configuración directamente al comando gcloud.

Pasa el archivo de configuración del grupo privado al comando gcloud:

  1. Crea el archivo de configuración del grupo privado en formato YAML o JSON.

  2. Ejecute lo siguientegcloud comando, en el que PRIVATEPOOL_ID es un identificador único para tu grupo privado,PRIVATEPOOL_CONFIG_FILE Es el nombre de tu archivo de configuración de grupo privado.REGION es la región donde deseas crear tu grupo privado:

    gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGION
    

    Deberías ver un resultado similar al siguiente:

    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
    

Pasar las opciones de configuración directamente al gcloud comando:

Ejecuta el siguiente comando gcloud:

    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

Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:

  • PRIVATEPOOL_ID: Un identificador único para el grupo de privado. Este valor debe tener entre 1 y 63 caracteres, y los caracteres válidos son [a-zA-Z0-9_-]+.
  • PRIVATEPOOL_PROJECT_ID: Es el ID del proyecto de Google Cloud en el que deseas crear tu grupo privado.
  • REGION: Es una de las regiones compatibles.
  • PEERED_NETWORK: Es la URL del recurso de la red que intercambia tráfico con la red del productor de servicios. PEERED_NETWORK debe tener el formato projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, en el que NETWORK_PROJECT_ID es el ID del proyecto de Google Cloud que contiene tu red de VPC y NETWORK_NAME es el nombre de tu red de VPC. Si no especificas un valor, Cloud Build usa la red del proveedor de servicios.
  • PRIVATEPOOL_DISK_SIZE_GB: Es el tamaño del disco conectado al grupo privado. Especifica un valor mayor o igual que 100 y menor o igual que 1,000. Si no se proporciona, Cloud Build usa un tamaño de disco de 100. --worker-disk-size se anula si especificas un tamaño de disco diferente con --disk-size durante gcloud builds submit.
  • PRIVATEPOOL_MACHINE_TYPE: Es el tipo de máquina del trabajador. Si se deja en blanco, Cloud Build usa el valor predeterminado de e2-standard-2. Para obtener una lista de los tipos de máquina compatibles, consulta Esquema del archivo de configuración de grupo privado. --worker-machine-type se anula si especificas un tipo de máquina diferente con --machine-type durante gcloud builds submit.
  • --no-public-egress: Si se configura esta marca, el grupo privado se crea sin una dirección IP externa. Configura esta marca si creas el grupo privado dentro de un perímetro de los Controles del servicio de VPC.

API

  1. Crea el archivo de configuración del grupo privado con el nombre workerpool.json.

  2. Usa cURL para llamar a la API de 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
    

    Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:

    • PRIVATEPOOL_PROJECT_ID: Es el ID del proyecto de Google Cloud en el que deseas crear tu grupo privado.
    • PRIVATEPOOL_ID: Es el ID del grupo privado. Este valor debe tener entre 1 y 63 caracteres, y los caracteres válidos son [a-zA-Z0-9_-]+.
    • REGION: Una de las regiones compatibles para crear tu grupo privado.

Crea un grupo privado dentro de un perímetro de los Controles del servicio de VPC

Si creas un grupo privado dentro de un perímetro de los Controles del servicio de VPC, consulta Usa los Controles del servicio de VPC.

Actualiza un grupo privado

Permisos de IAM: Necesitas el rol Editor de Cloud Build WorkerPool para realizar esta tarea. Si quieres obtener instrucciones para otorgar este rol, consulta Configura el acceso a los recursos de Cloud Build.

Puedes actualizar el tamaño del disco y el tipo de máquina de un grupo privado existente. Para actualizar un grupo privado, sigue estos pasos:

Consola

  1. Abre la página Grupo de trabajadores en la consola de Google Cloud:

    Abrir la página de grupos de trabajadores de Cloud Build

  2. Selecciona el proyecto en el que creaste el grupo privado.

  3. Haz clic en el nombre del grupo privado.

  4. En el panel lateral Editar grupo privado, actualiza el tipo de máquina o el tamaño del disco.

  5. Haz clic en Guardar.

gcloud

Actualiza el archivo de configuración del grupo de trabajadores:

  1. Actualiza el campo que deseas cambiar en tu archivo de configuración del grupo privado.

  2. Ejecuta el siguiente comando, en el que PRIVATEPOOL_ID es el identificador único de tu grupo privado, REGION es la región en la que se encuentra el grupo privado y PRIVATEPOOL_CONFIG_FILE es el nombre de tu archivo de configuración del grupo privado:

    gcloud builds worker-pools update PRIVATEPOOL_ID \
        --region=REGION \
        --config-from-file=PRIVATEPOOL_CONFIG_FILE
    

Pasa el valor que se debe actualizar directamente al comando 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

Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:

  • PRIVATEPOOL_ID: Es el ID del grupo privado existente. No puedes actualizar este valor; debes especificar un ID de grupo privado existente.
  • REGION: Es la región en la que creaste el grupo privado.
  • PRIVATEPOOL_DISK_SIZE: El tamaño del disco actualizado.
  • PRIVATEPOOL_MACHINE_TYPE es el tipo de máquina actualizado.

API

  1. En el archivo de configuración de grupo privado, actualiza el tamaño del disco o el tipo de máquina.

  2. Usa cURL para llamar a la API de Cloud Build y reemplaza las variables por los valores adecuados:

    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
    

    Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:

    • PRIVATEPOOL_ID: Es el ID del grupo privado.
    • PRIVATEPOOL_PROJECT_ID: Es el ID del proyecto de Google Cloud que contiene el grupo privado.
    • REGION: Es la región en la que creaste el grupo privado.

Visualiza los detalles de tu grupo privado

Permisos de IAM: Necesitas el rol Visualizador de WorkerPool de Cloud Build para realizar esta tarea. Si quieres obtener instrucciones para otorgar este rol, consulta Configura el acceso a los recursos de Cloud Build.

Para ver los detalles de un grupo privado, sigue estos pasos:

Consola

  1. Abre la página Grupo de trabajadores en la consola de Google Cloud:

    Abrir la página de grupos de trabajadores de Cloud Build

  2. Selecciona el proyecto en el que creaste el grupo privado.

  3. Haz clic en el nombre del grupo privado.

Se mostrará el panel lateral Editar grupo privado, que tiene los detalles del grupo privado.

gcloud

Si no conoces el ID del grupo privado, ejecuta el siguiente comando para enumerar los detalles del grupo privado:

gcloud builds worker-pools list --project=PRIVATEPOOL_PROJECT_ID

En el ejemplo anterior, PRIVATEPOOL_PROJECT_ID es el ID del proyecto de Google Cloud que contiene el grupo privado.

Deberías ver un resultado similar al siguiente:

NAME                                                                  CREATE_TIME                STATUS
projects/[PRIVATEPOOL_PROJECT_ID]/locations/us-central1/workerPools/[PRIVATEPOOL_ID]      2018-11-19T16:08:24+00:00  RUNNING

Si conoces el ID del grupo privado, ejecuta el siguiente comando para obtener más información sobre el grupo privado:

gcloud builds worker-pools describe PRIVATEPOOL_ID \
    --region=REGION \
    --project=PRIVATEPOOL_PROJECT_ID

Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:

  • PRIVATEPOOL_ID: Es el ID del grupo privado.
  • REGION: Es la región en la que creaste el grupo privado.
  • PRIVATEPOOL_PROJECT_ID: Es el ID del proyecto de Google Cloud que contiene el grupo privado.

API

Si no conoces el ID del grupo privado, ejecuta el siguiente comando cURL para enumerar los detalles del grupo privado, en el que PRIVATEPOOL_PROJECT_ID es el ID del proyecto de Google Cloud que contiene el grupo privado:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools

Si conoces el ID del grupo privado, ejecuta el siguiente comando de cURL para obtener los detalles del grupo privado:

    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

Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:

  • PRIVATEPOOL_ID: Es el ID del grupo privado.
  • PRIVATEPOOL_PROJECT_ID: Es el ID del proyecto de Google Cloud que contiene el grupo privado.
  • REGION: La región en la que creaste tu grupo privado.

Borra un grupo privado

Permisos de IAM: Necesitas la función Propietario del grupo de trabajadores de Cloud Build para realizar esta tarea. Si quieres obtener instrucciones para otorgar este rol, consulta Configura el acceso a los recursos de Cloud Build.

Para borrar un grupo privado, sigue estos pasos:

Consola

  1. Abre la página Grupo de trabajadores en la consola de Google Cloud:

    Abrir la página de grupos de trabajadores de Cloud Build

  2. Haz clic en el ícono de papelera de la fila del grupo privado.

gcloud

Para borrar un grupo privado, ejecuta el comando gcloud builds worker-pools delete:

 gcloud builds worker-pools delete PRIVATEPOOL_ID \
     --region=REGION \
     --project=PRIVATEPOOL_PROJECT_ID

Reemplaza los valores de marcador de posición en el comando anterior por los siguientes:

  • PRIVATEPOOL_ID: Es el ID del grupo privado.
  • PRIVATEPOOL_PROJECT_ID: Es el ID del proyecto de Google Cloud que contiene el grupo privado.
  • REGION: La región en la que creaste tu grupo privado.

Después de borrar el grupo privado, deberías ver un resultado similar al siguiente:

 Deleted [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/[PRIVATEPOOL_ID].

API

Usa cURL para llamar a la API de 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

Reemplaza los valores de marcador de posición en los comandos anteriores por la siguiente información:

  • PRIVATEPOOL_ID: Es el ID del grupo privado.
  • PRIVATEPOOL_PROJECT_ID: Es el ID del proyecto de Google Cloud que contiene el grupo privado.
  • REGION: La región en la que creaste tu grupo privado.

¿Qué sigue?