Um arquivo de configuração de pool particular (arquivo de configuração do pool particular) contém instruções para o Cloud Build criar um pool particular com base nas suas especificações. Um arquivo de configuração do pool particular contém informações, como o
tamanho do disco e o tipo de máquina que você quer usar no pool particular. O
arquivo de configuração do pool particular é necessário quando você cria e gerencia pools particulares
usando a ferramenta gcloud
ou a API do Cloud Build.
Estrutura de um arquivo de configuração de pool particular
É possível gravar o arquivo de configuração do pool particular usando a sintaxe YAML ou JSON. Para criar e gerenciar pools particulares usando curl
, grave
o arquivo de configuração do pool particular no formato JSON. Para criar e gerenciar pools de particulares usando a ferramenta gcloud
, grave o arquivo de configuração do pool particular no
formato YAML ou JSON.
A estrutura do arquivo de configuração da build do pool particular é a seguinte:
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"
}
}
}
Os campos do arquivo de configuração do pool particular são explicados da seguinte maneira:
networkConfig
Esse campo é opcional. Especifique networkConfig
somente se estiver fazendo peering da rede VPC com a rede do produtor de serviços.
egressOption
Esse campo é opcional. Defina o valor desse campo como NO_PUBLIC_EGRESS
se
você estiver criando seu pool particular em um perímetro do VPC Service Controls. Se você não incluir esse campo no arquivo de configuração do pool particular, a saída pública será ativada.
Para informações sobre como configurar o VPC Service Controls para pools particulares, consulte
Como usar o VPC Service Controls.
peeredNetwork
Este é um campo obrigatório se o arquivo de configuração do pool particular contiver o campo
networkConfig
. Defina o valor desse campo como o URL de recurso da rede VPC que tem peering com a rede do produtor de serviços. O URL do recurso de rede precisa estar no formato
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
,
em que NETWORK_PROJECT_ID é o ID do projeto do Google Cloud que contém sua rede VPC e
NETWORK_NAME é o nome da sua rede VPC.
Se você não especificar um valor, o Cloud Build usará a rede do produtor de serviços por padrão.
peeredNetworkIpRange
Esse campo é opcional. Defina o valor desse campo para especificar o intervalo de IP interno que pode ser atribuído às VMs no intervalo alocado da rede com peering. Se o intervalo de IP especificado não puder ser alocado no intervalo da conexão particular, por exemplo, devido a limitações de tamanho ou um IP inicial inválido, o pool particular não poderá ser criado.
peeredNetworkIpRange
é especificado usando a notação de roteamento entre domínios sem classe (CIDR)
no formato 'STARTING_IP/SUBNET_PREFIX_SIZE'
.
Se este campo for usado, SUBNET_PREFIX_SIZE
precisará ser especificado.
SUBNET_PREFIX_SIZE
determina o tamanho do intervalo de IP. Ele precisa começar com uma barra (/
) e ter um valor menor ou igual a 29.A parte STARTING_IP
é opcional e especifica o endereço inicial do intervalo. Se o
STARTING_IP
não for especificado, um endereço inicial será atribuído automaticamente
no intervalo de conexão particular. Se nenhum valor for especificado para peeredNetworkIpRange
, será usado o valor padrão /24
, que atribui automaticamente um IP inicial com um intervalo de 256 IPs.
O valor de SUBNET_PREFIX_SIZE
não pode exceder 29. Um número maior especifica um prefixo de sub-rede maior, o que deixaria menos IPs possíveis e resultaria em um intervalo de IP menor. Como um endereço IP tem 32 bits, um tamanho de prefixo de /24
permite 256 IPs possíveis no intervalo (oito bits), enquanto um tamanho de prefixo de /29
deixa oito IPs possíveis (três bits). O número máximo de VMs de build é limitado ao número de IPs utilizáveis no intervalo (o número total possível de IPs no intervalo menos dois).
Confira exemplos do campo peeredNetworkIpRange
:
192.168.0.0/24
especifica um intervalo de IP que começa em 192.168.0.0 com um tamanho de prefixo de sub-rede de 24 (256 IPs, com 254 IPs utilizáveis)./29
especifica um intervalo com um IP inicial determinado automaticamente e um tamanho de prefixo de sub-rede de 29 (oito IPs, com seis IPs utilizáveis).
workerConfig
Este campo é obrigatório. Ele contém opções de configuração para seu pool particular.
diskSizeGb
Esse campo é opcional. Use esse campo para especificar um tamanho de disco para sua instância de pool particular em GB. Especifique um valor maior ou igual a 100
e menor ou igual a 4.000. Se você não incluir esse campo no arquivo de configuração do pool particular ou se especificar 0
como o valor desse campo, o Cloud Build usará o valor padrão 100.
machineType
Esse campo é opcional. Use esse campo para especificar o tipo de máquina do Compute Engine para a instância do pool particular. Se você não especificar um valor, o Cloud Build
usará o valor padrão de e2-medium
. Caso contrário, especifique um dos seguintes 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 |
A tabela a seguir mostra a disponibilidade de tipos de máquina por região:
Disponibilidade de tipos de máquinas por região
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
Esse campo é opcional. Se o pool privado usar uma VM com um tipo de máquina C3
, será possível ativar a virtualização aninhada para executar outras instâncias de VM dentro da VM do pool privado. Para mais informações, consulte
Sobre a virtualização aninhada.
A seguir
- Saiba como executar builds em pools particulares.
- Saiba como criar e gerenciar pools privados.