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
Crea un proyecto Google Cloud nuevo o elige uno existente. Usarás este proyecto para crear el grupo privado.
-
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. Para usar los ejemplos de la línea de comandos de esta guía, instala y configura Google Cloud CLI.
Opcional: Para que las compilaciones accedan a 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 en la que residen los grupos privados. Para obtener instrucciones, consulta cómo configurar tu entorno para crear grupos privados.
Opcional: Familiarízate con las configuraciones de los tipo de máquina y la disponibilidad regional. Para obtener más información, consulta
workerconfig
en la documentación del esquema del archivo de configuración del grupo privado.
Crea un grupo privado
Para obtener los permisos que necesitas para crear un grupo privado, pídele a tu administrador que te otorgue el rol de IAM de Propietario de WorkerPool de Cloud Build (roles/cloudbuild.workerPoolOwner
) en tu cuenta de servicio.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Puedes crear hasta 10 grupos privados por proyecto Google Cloud y por región. Para crear un grupo privado, haz lo siguiente:
Consola de Google Cloud
Abre la página Grupo de trabajadores en la consola de Google Cloud :
Haz clic en Crear grupo privado.
Se muestra la página Crear grupo privado.
Ingresa la siguiente información para crear tu grupo privado:
Nombre: Ingresa un nombre para tu grupo privado. Este valor solo puede contener caracteres alfanuméricos
/[a-z][0-9]/
o guiones-
. El nombre de tu grupo privado debe tener entre 1 y 63 caracteres.Región: Selecciona la región en la que deseas crear el grupo privado.
Configuración de la máquina: Configura lo siguiente:
Serie: Elige una serie de máquinas.
Tipo de máquina: Este parámetro de configuración muestra los tipos de máquinas, según la serie de máquinas que seleccionaste, que puede usar el grupo de trabajadores. Los tipos de máquinas disponibles varían según la región.
Tamaño del disco: Ingresa un tamaño de disco para tu grupo privado. Especifica un valor mayor o igual que 100 y menor o igual que 4,000. Si no proporcionas un valor, Cloud Build usa un tamaño de disco de 100.
Virtualización anidada: Si seleccionaste una máquina de la serie C3, puedes habilitar la virtualización anidada. Esta función te permite ejecutar instancias de máquina virtual (VM) dentro de otras VMs para que puedas crear tus propios entornos de virtualización.
En Tipo de red, selecciona una de las siguientes opciones:
Red predeterminada: Selecciona esta opción si se puede acceder a tu instancia a través de Internet público. Cuando se selecciona la opción Red predeterminada, tu grupo privado usa la red del productor de servicios. Para obtener más información, consulta Configura el entorno para usar grupos privados en una red de VPC.
Red privada: Selecciona esta opción si tu instancia está alojada en una red privada y, luego, haz lo siguiente:
Proyecto: Selecciona el Google Cloud ID de tu proyecto.
Red: Selecciona tu red en el menú desplegable. Si no creaste una red, consulta Crea y administra redes de VPC para obtener información sobre cómo crear una.
Rango de IP: Ingresa el rango de IP interna que la red del productor de Cloud Build puede usar para asignar a las VMs que mantienen una conexión con repositorios privados.
Puedes especificar el rango con la notación de enrutamiento 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 usan como máscara de subred (192.0.2.0
), mientras que las posibles direcciones de host varían de192.0.2.0
a192.0.2.255
.El valor de la longitud del prefijo no debe superar
/29
. Si no se especifica ningún 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 interconectada. Si no se especifica ningún valor para la dirección IP, se le asigna automáticamente un rango dentro de la red de VPC interconectada.
Asignar IPs externas: Esta opción está seleccionada de forma predeterminada para permitir que los grupos privados accedan a Internet público. Desmarca esta casilla para restringir el acceso a tu red privada.
Haz clic en Crear para crear tu 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
:
Crea el archivo de configuración del grupo privado en formato YAML o JSON.
Ejecute lo siguiente
gcloud
comando, en el quePRIVATEPOOL_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
Pasa las opciones de configuración directamente al comando gcloud
:
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
Aquí:
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 Google Cloud proyecto 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 formatoprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
, en el queNETWORK_PROJECT_ID
es el ID del proyecto de Google Cloud que contiene tu red de VPC yNETWORK_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 superior o igual a 100 y menor o igual que 4,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
durantegcloud builds submit
.PRIVATEPOOL_MACHINE_TYPE
: Es el tipo de máquina del trabajador. Si se deja en blanco, Cloud Build usa el valor predeterminado dee2-standard-2
. Para obtener una lista de los tipos de máquinas compatibles, consulta Esquema del archivo de configuración del grupo privado.--worker-machine-type
se anula si especificas un tipo de máquina diferente con--machine-type
durantegcloud builds submit
.--no-public-egress
: Si se configura esta marca, el grupo privado se crea sin una dirección IP externa. Establece esta marca si crearás el grupo privado dentro de un perímetro de Controles del servicio de VPC.
API
Crea el archivo de configuración del grupo privado con el nombre
workerpool.json
.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
Aquí:
PRIVATEPOOL_PROJECT_ID
: Es el ID del Google Cloud proyecto en el que deseas crear tu grupo privado.PRIVATEPOOL_ID
: Es el ID de tu 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 Controles del servicio de VPC
Para crear un grupo privado con un perímetro de Controles del servicio de VPC, consulta Usa los Controles del servicio de VPC.
Actualiza un grupo privado
Para obtener los permisos que necesitas para crear un grupo privado,
pídele a tu administrador que te otorgue el rol de IAM de
Editor de WorkerPool de Cloud Build (roles/cloudbuild.workerPoolEditor
)
en tu cuenta de servicio.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Para actualizar la configuración de un grupo privado, haz lo siguiente:
Console
Abre la página Grupo de trabajadores en la consola de Google Cloud :
Selecciona el proyecto en el que creaste el grupo privado.
Haz clic en el nombre del grupo privado.
En la página Editar grupo privado, actualiza el tipo de máquina y el tamaño del disco según sea necesario.
Haz clic en Guardar.
gcloud
Actualiza el archivo de configuración del grupo de trabajadores:
Actualiza el campo que deseas cambiar en tu archivo de configuración del grupo privado.
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 tu grupo privado yPRIVATEPOOL_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
Aquí:
PRIVATEPOOL_ID
: El ID de tu grupo privado existente. No puedes actualizar este valor; debes especificar un ID de grupo privado existente.REGION
: La región en la que creaste tu grupo privado.PRIVATEPOOL_DISK_SIZE
: El tamaño del disco actualizado.PRIVATEPOOL_MACHINE_TYPE
es el tipo de máquina actualizado.
API
En tu archivo de configuración del grupo privado, actualiza el tamaño del disco y el tipo de máquina según sea necesario.
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
Aquí:
PRIVATEPOOL_ID
: El ID de tu grupo privado.PRIVATEPOOL_PROJECT_ID
: Es el ID del Google Cloud proyecto que contiene tu grupo privado.REGION
: La región en la que creaste tu grupo privado.
Consulta los detalles de tu grupo privado
Para obtener los permisos que necesitas para crear un grupo privado, pídele a tu administrador que te otorgue el rol de IAM de Visualizador de WorkerPool de Cloud Build (roles/cloudbuild.workerPoolViewer
) en tu cuenta de servicio.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Para ver los detalles de un grupo privado, haz lo siguiente:
Console
Abre la página Grupo de trabajadores en la consola de Google Cloud :
Selecciona el proyecto en el que creaste el grupo privado.
Haz clic en el nombre del grupo privado.
Se mostrará la página Editar grupo privado.
gcloud
Si no conoces el ID de tu grupo privado, ejecuta el siguiente comando para enumerar los detalles de tu grupo privado:
gcloud builds worker-pools list --region=REGION --project=PRIVATEPOOL_PROJECT_ID
Aquí:
PRIVATEPOOL_PROJECT_ID
es el ID del proyecto deGoogle Cloud que contiene el grupo privado.REGION
es la región del 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
Dónde
PRIVATEPOOL_ID
: El ID de tu grupo privado.REGION
: La región en la que creaste tu grupo privado.PRIVATEPOOL_PROJECT_ID
: Es el ID del Google Cloud proyecto que contiene tu grupo privado.
API
Si no conoces el ID de tu grupo privado, ejecuta el siguiente comando cURL para enumerar los detalles de tu grupo privado, en el que PRIVATEPOOL_PROJECT_ID
es el ID del proyecto 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 curl para obtener los detalles de tu 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
Dónde
PRIVATEPOOL_ID
: El ID de tu grupo privado.PRIVATEPOOL_PROJECT_ID
: Es el ID del Google Cloud proyecto que contiene tu grupo privado.REGION
: La región en la que creaste tu grupo privado.
Cómo ver las estimaciones de precios de grupos privados
Cuando creas o actualizas un grupo privado, la barra lateral Estimación mensual de las páginas Crear grupo privado y Editar grupo privado muestra una estimación del costo mensual de ejecución del grupo. El cálculo se basa en los siguientes factores:
- Cantidad de CPUs virtuales
- Tipo de máquina
- Memoria
- Minutos de compilación
- Región (solo para máquinas N2D y C3)
El precio estimado no incluye los costos de tamaño de disco adicional más allá de los 100 GB incluidos de forma predeterminada. El precio estimado puede ser diferente del precio final según la configuración de compilación final, los minutos de compilación reales utilizados y otros factores. Para obtener más información, consulta los precios de Cloud Build.
Borra un grupo privado
Para obtener los permisos que necesitas para crear un grupo privado, pídele a tu administrador que te otorgue el rol de IAM de Propietario de WorkerPool de Cloud Build (roles/cloudbuild.workerPoolOwner
) en tu cuenta de servicio.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Para borrar un grupo privado, haz lo siguiente:
Console
Abre la página Grupo de trabajadores en la consola de Google Cloud :
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
Aquí:
PRIVATEPOOL_ID
: El ID de tu grupo privado.PRIVATEPOOL_PROJECT_ID
: Es el ID del Google Cloud proyecto que contiene tu 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
Aquí:
PRIVATEPOOL_ID
: El ID de tu grupo privado.PRIVATEPOOL_PROJECT_ID
: Es el ID del Google Cloud proyecto que contiene tu grupo privado.REGION
: La región en la que creaste tu grupo privado.
¿Qué sigue?
- Obtén más información para ejecutar compilaciones en grupos privados.
- Obtén información para usar los Controles del servicio de VPC con grupos privados.