Um ficheiro de configuração de pool privada (ficheiro de configuração de pool privada) contém
instruções para o Cloud Build criar uma pool privada com base nas
suas especificações. Um ficheiro de configuração do conjunto privado contém informações como o tamanho do disco e o tipo de máquina que quer usar para o seu conjunto privado. O ficheiro de configuração do conjunto privado é necessário quando cria e gere conjuntos privados
com a ferramenta gcloud
ou a Cloud Build API.
Estrutura de um ficheiro de configuração do pool privado
Pode escrever o ficheiro de configuração do conjunto privado com a sintaxe YAML ou JSON. Para criar e gerir pools privados através da curl
, escreva o ficheiro de configuração do pool privado no formato JSON. Para criar e gerir pools privados
através da ferramenta gcloud
, escreva o ficheiro de configuração do pool privado no formato
YAML ou JSON.
Um ficheiro de configuração de um conjunto privado tem a seguinte estrutura:
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 no ficheiro de configuração do conjunto privado são explicados da seguinte forma:
networkConfig
Este é um campo opcional. Especifique networkConfig
apenas se estiver a fazer peering da sua rede VPC com a rede do produtor de serviços.
egressOption
Este é um campo opcional. Defina o valor deste campo como NO_PUBLIC_EGRESS
se estiver a criar o seu pool privado num perímetro do VPC Service Controls. Se não incluir este campo no ficheiro de configuração do pool privado, a saída pública é ativada.
Para obter informações sobre a configuração dos VPC Service Controls para pools privados, consulte o artigo
Usar os VPC Service Controls.
peeredNetwork
Este é um campo obrigatório se o ficheiro de configuração do conjunto privado contiver o campo networkConfig
. Defina o valor deste campo como o URL do recurso de rede da rede VPC que está em peering com a rede do produtor de serviços. O URL do recurso de rede tem de estar no formato
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
, em que NETWORK_PROJECT_ID é o ID do projeto do
projeto Google Cloud que contém a sua rede VPC e
NETWORK_NAME é o nome da sua rede VPC.
Se não especificar um valor, o Cloud Build usa a rede do produtor de serviços por predefinição.
peeredNetworkIpRange
Este é um campo opcional. Defina o valor deste campo para especificar o intervalo de IP interno ao qual as VMs podem ser atribuídas no intervalo alocado da rede em peering. Se não for possível atribuir o intervalo de IPs especificado no intervalo da ligação privada, por exemplo, devido a limitações de tamanho ou a um IP inicial inválido, não é possível criar o conjunto privado.
peeredNetworkIpRange
é especificado através da notação CIDR (Classless Inter-Domain Routing) no formato 'STARTING_IP/SUBNET_PREFIX_SIZE'
.
Se este campo for usado, tem de especificar SUBNET_PREFIX_SIZE
.
SUBNET_PREFIX_SIZE
determina o tamanho do intervalo de IPs. Tem de começar com uma barra (/
) e ter um valor inferior ou igual a 29.A parte STARTING_IP
é opcional e especifica o endereço inicial do intervalo. Se o elemento
STARTING_IP
não for especificado, é atribuído automaticamente um endereço inicial
a partir do intervalo de ligação privada. Se não for especificado nenhum valor para
peeredNetworkIpRange
, é usado um valor predefinido de /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 num intervalo de IPs menor. Uma vez que 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 compilação está limitado ao número de IPs utilizáveis no intervalo (o número total possível de IPs no intervalo menos dois).
Veja o seguinte para obter 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 do prefixo da sub-rede de 24 (256 IPs, com 254 IPs utilizáveis)./29
especifica um intervalo com um IP inicial determinado automaticamente e um tamanho do prefixo de sub-rede de 29 (oito IPs, com seis IPs utilizáveis).
workerConfig
Este é um campo obrigatório. Contém opções de configuração para o seu conjunto privado.
diskSizeGb
Este é um campo opcional. Use este campo para especificar um tamanho do disco para a sua instância do conjunto privado em GB. Especifique um valor igual ou superior a 100 e igual ou inferior a 4000. Se não incluir este campo no ficheiro de configuração do conjunto privado ou se especificar 0
como o valor deste campo, o Cloud Build usa o valor predefinido de 100.
machineType
Este é um campo opcional. Use este campo para especificar o tipo de máquina do Compute Engine para a sua instância de pool privada. Se não especificar um valor, o Cloud Build usa o valor predefinido de e2-medium
. Caso contrário, especifique um dos seguintes tipos de máquinas:
Tipos de máquinas
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 seguinte mostra a disponibilidade dos tipos de máquinas por região:
Disponibilidade do tipo de máquina 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 |
austrália-sudeste1 | 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 | ásia-sul2 | ásia-sul2 |
me-central2 | us-east5 | us-east5 | asia-southeast1 | asia-southeast1 |
me-west1 | us-west2 | us-west1 | ásia-sudeste2 | ásia-sudeste2 |
northamerica-northeast1 | us-west3 | us-west2 | austrália-sudeste1 | austrália-sudeste1 |
southamerica-east1 | us-west4 | austrália-sudeste2 | austrália-sudeste2 | |
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 é um campo opcional. Se o seu pool privado usar uma VM com um tipo de máquina C3
, pode ativar a virtualização aninhada para executar outras instâncias de VM na VM do seu pool privado. Para mais informações, consulte o artigo
Acerca da virtualização aninhada.
O que se segue?
- Saiba como executar compilações em pools privadas.
- Saiba como criar e gerir pools privados.