Un archivo de configuración de grupo privado contiene instrucciones para que Cloud Build cree un grupo privado según tus especificaciones. Un archivo de configuración de un grupo privado contiene información como el tamaño del disco y el tipo de máquina que quieres usar en tu grupo privado. El archivo de configuración del grupo privado es obligatorio cuando creas y gestionas grupos privados con la herramienta gcloud
o la API Cloud Build.
Estructura de un archivo de configuración de un grupo privado
Puedes escribir el archivo de configuración del grupo privado con la sintaxis YAML o JSON. Para crear y gestionar grupos privados con curl
, escribe el archivo de configuración del grupo privado en formato JSON. Para crear y gestionar grupos privados con la herramienta gcloud
, escribe el archivo de configuración del grupo privado en formato YAML o JSON.
Un archivo de configuración de un grupo privado tiene la siguiente estructura:
YAML
privatePoolV1Config:
networkConfig:
egressOption: NO_PUBLIC_EGRESS
peeredNetwork: 'PEERED_NETWORK'
peeredNetworkIpRange: 'PEERED_NETWORK_IP_RANGE'
workerConfig:
diskSizeGb: 'PRIVATE_POOL_DISK_SIZE'
machineType: PRIVATE_POOL_MACHINE_TYPE
JSON
{
"privatePoolV1Config": {
"networkConfig": {
"egressOption": "NO_PUBLIC_EGRESS",
"peeredNetwork": "PEERED_NETWORK",
"peeredNetworkIpRange": "PEERED_NETWORK_IP_RANGE"
},
"workerConfig": {
"diskSizeGb": "PRIVATE_POOL_DISK_SIZE",
"machineType": "PRIVATE_POOL_MACHINE_TYPE"
}
}
}
Los campos del archivo de configuración del grupo privado se explican a continuación:
networkConfig
Este campo es opcional. Especifica networkConfig
solo si vas a emparejar tu red de VPC con la red del productor de servicios.
egressOption
Este campo es opcional. Asigna el valor NO_PUBLIC_EGRESS
a este campo si vas a crear tu grupo privado en un perímetro de Controles de Servicio de VPC. Si no incluyes este campo en el archivo de configuración del grupo privado, se habilitará la salida pública.
Para obtener información sobre cómo configurar Controles de Servicio de VPC para los grupos privados, consulta el artículo Usar Controles de Servicio de VPC.
peeredNetwork
Este campo es obligatorio si el archivo de configuración del grupo privado contiene el campo networkConfig
. Asigna a este campo la URL del recurso de red de la red de VPC emparejada con la red del productor de servicios. La URL del recurso de red debe tener el formato
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
,
donde NETWORK_PROJECT_ID es el ID del proyecto
Google Cloud que contiene tu red de VPC y
NETWORK_NAME es el nombre de tu red de VPC.
Si no especifica ningún valor, Cloud Build usará la red del productor de servicios de forma predeterminada.
peeredNetworkIpRange
Este campo es opcional. Define el valor de este campo para especificar el intervalo de IPs internas que se pueden asignar a las VMs dentro del intervalo asignado de la red emparejada. Si el intervalo de IP especificado no se puede asignar dentro del intervalo de la conexión privada (por ejemplo, debido a limitaciones de tamaño o a una IP de inicio no válida), no se podrá crear el pool privado.
peeredNetworkIpRange
se especifica mediante la notación de enrutamiento de interdominios sin clases (CIDR) en el formato 'STARTING_IP/SUBNET_PREFIX_SIZE'
.
Si se usa este campo, se debe especificar SUBNET_PREFIX_SIZE
.
SUBNET_PREFIX_SIZE
determina el tamaño del intervalo de direcciones IP. Debe empezar por una barra diagonal (/
) y tener un valor inferior o igual a 29.La parte STARTING_IP
es opcional y especifica la dirección inicial del intervalo. Si no se especifica STARTING_IP
, se asigna automáticamente una dirección de inicio del intervalo de conexión privada. Si no se especifica ningún valor para peeredNetworkIpRange
, se usará el valor predeterminado /24
, que asigna automáticamente una IP inicial con un intervalo de 256 IPs.
El valor de SUBNET_PREFIX_SIZE
no debe superar 29. Un número mayor especifica un prefijo de subred más grande, lo que dejaría menos IPs posibles y daría como resultado un intervalo de IPs más pequeño. Como una dirección IP es de 32 bits, un prefijo de /24
permite 256 IPs posibles en el intervalo (ocho bits), mientras que un prefijo de /29
deja ocho IPs posibles (tres bits). El número máximo de VMs de compilación se limita al número de IPs utilizables del intervalo (el número total posible de IPs del intervalo menos dos).
Consulta los siguientes ejemplos del campo peeredNetworkIpRange
:
192.168.0.0/24
especifica un intervalo de IPs que empieza por 192.168.0.0 con un tamaño de prefijo de subred de 24 (256 IPs, de las cuales 254 son utilizables)./29
especifica un intervalo con una IP de inicio determinada automáticamente y un tamaño de prefijo de subred de 29 (ocho IPs, de las cuales seis son utilizables).
workerConfig
Este campo es obligatorio. Contiene opciones de configuración para tu grupo privado.
diskSizeGb
Este campo es opcional. Usa este campo para especificar el tamaño del disco de tu instancia de grupo privado en GB. Especifica un valor igual o superior a 100 e igual o inferior a 4000. Si no incluyes este campo en tu archivo de configuración de grupo privado o si especificas 0
como valor de este campo, Cloud Build usará el valor predeterminado de 100.
machineType
Este campo es opcional. Usa este campo para especificar el tipo de máquina de Compute Engine de tu instancia de grupo privado. Si no especificas ningún valor, Cloud Build usará el valor predeterminado e2-medium
. De lo contrario, especifica uno de los siguientes tipos de máquina:
Tipos de máquina
e2 |
n2d |
c3 |
|
---|---|---|---|
e2-medium | n2d‑standard‑2 | c3-standard-4 | |
e2-standard-2 | n2d‑standard‑4 | c3-standard-8 | |
e2-standard-4 | n2d‑standard‑8 | c3-standard-22 | |
e2-standard-8 | n2d‑standard‑16 | c3-standard-44 | |
e2-standard-16 | n2d‑standard‑32 | c3-standard-88 | |
e2-standard-32 | n2d‑standard‑48 | c3-standard-176 | |
e2-highmem-2 | n2d‑standard‑64 | c3-highcpu-4 | |
e2-highmem-4 | n2d‑standard‑80 | c3-highcpu-8 | |
e2-highmem-8 | n2d‑standard‑96 | c3-highcpu-22 | |
e2-highmem-16 | n2d‑standard‑128 | c3-highcpu-44 | |
e2-highcpu-2 | n2d‑standard‑224 | c3-highcpu-88 | |
e2-highcpu-4 | n2d‑highmem‑2 | c3-highcpu-176 | |
e2-highcpu-8 | n2d‑highmem‑4 | c3-highmem-4 | |
e2-highcpu-16 | n2d‑highmem‑8 | c3-highmem-8 | |
e2-highcpu-32 | n2d‑highmem‑16 | c3-highmem-22 | |
n2d‑highmem‑32 | c3-highmem-44 | ||
n2d‑highmem‑48 | c3-highmem-88 | ||
n2d‑highmem‑64 | c3-highmem-176 | ||
n2d‑highmem‑80 | |||
n2d‑highmem‑96 | |||
n2d‑highcpu‑2 | |||
n2d‑highcpu‑4 | |||
n2d‑highcpu‑8 | |||
n2d‑highcpu‑16 | |||
n2d‑highcpu‑32 | |||
n2d‑highcpu‑48 | |||
n2d‑highcpu‑64 | |||
n2d‑highcpu‑80 | |||
n2d‑highcpu‑96 | |||
n2d‑highcpu‑128 | |||
n2d‑highcpu‑224 |
En la siguiente tabla se muestra la disponibilidad de los tipos de máquinas por región:
Disponibilidad de los tipos de máquina por región
c3-standard-* |
c3-highcpu-* |
c3-highmem-* |
e2-* |
n2d-* |
---|---|---|---|---|
asia‑northeast1 | asia‑southeast1 | asia‑southeast1 | africa-south1 | africa-south1 |
asia‑southeast1 | europe‑west1 | europe‑west1 | asia‑east1 | asia‑east1 |
australia‑southeast1 | europe‑west3 | europe‑west2 | asia‑east2 | asia‑east2 |
europe‑west1 | europe‑west4 | europe‑west3 | asia‑northeast1 | asia‑northeast1 |
europe‑west2 | me-central2 | europe‑west4 | asia‑northeast2 | asia‑northeast2 |
europe‑west3 | us-central1 | us-central1 | asia‑northeast3 | asia‑northeast3 |
europe‑west4 | us‑east1 | us‑east1 | asia‑south1 | asia‑south1 |
europe-west9 | us‑east4 | us‑east4 | asia‑south2 | asia‑south2 |
me-central2 | us-east5 | us-east5 | asia‑southeast1 | asia‑southeast1 |
me-west1 | us‑west2 | us‑west1 | asia-southeast2 | asia-southeast2 |
northamerica‑northeast1 | us-west3 | us‑west2 | australia‑southeast1 | australia‑southeast1 |
southamerica-east1 | us-west4 | australia‑southeast2 | australia‑southeast2 | |
us-central1 | europe-central2 | europe-central2 | ||
us‑east1 | europe‑north1 | europe‑north1 | ||
us‑east4 | europe-north2 | europe-southwest1 | ||
us-east5 | europe-southwest1 | europe‑west1 | ||
us‑west1 | europe‑west1 | europe-west10 | ||
us‑west2 | europe‑west2 | europe-west12 | ||
us-west3 | europe‑west3 | europe‑west2 | ||
us-west4 | europe‑west4 | europe‑west3 | ||
europe-west6 | europe‑west4 | |||
europe-west8 | europe-west6 | |||
europe-west9 | europe-west8 | |||
europe-west10 | europe-west9 | |||
europe-west12 | me-central1 | |||
me-central1 | me-central2 | |||
me-central2 | me-west1 | |||
me-west1 | northamerica‑northeast1 | |||
northamerica‑northeast1 | northamerica-northeast2 | |||
northamerica-northeast2 | southamerica-east1 | |||
northamerica-south1 | southamerica-west1 | |||
southamerica-east1 | us-central1 | |||
southamerica-west1 | us‑east1 | |||
us-central1 | us‑east4 | |||
us‑east1 | us-east5 | |||
us‑east4 | us-south1 | |||
us-east5 | us‑west1 | |||
us-south1 | us‑west2 | |||
us‑west1 | us-west3 | |||
us‑west2 | us-west4 | |||
us-west3 | ||||
us-west4 |
enableNestedVirtualization
Este campo es opcional. Si tu grupo privado usa una VM con un tipo de máquina C3
, puedes habilitar la virtualización anidada para ejecutar otras instancias de VM dentro de la VM de tu grupo privado. Para obtener más información, consulta el artículo Acerca de la virtualización anidada.
Siguientes pasos
- Consulta cómo ejecutar compilaciones en grupos privados.
- Consulta cómo crear y gestionar grupos privados.