Esquema do arquivo de configuração do pool particular

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 abaixo:

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 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 deste campo para especificar o intervalo de IP interno ao qual as VMs podem ser atribuídas dentro do intervalo alocado da rede com peering. Se o intervalo de IP especificado não puder ser alocado dentro do intervalo da conexão particular, por exemplo, devido a limitações de tamanho ou um IP inicial inválido, não será possível criar o pool particular.

peeredNetworkIpRange é especificado com a notação de roteamento entre domínios sem classe (CIDR) no formato 'STARTING_IP/SUBNET_PREFIX_SIZE'. Se este campo for usado, será necessário especificar SUBNET_PREFIX_SIZE. 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 do intervalo de conexão particular. Se nenhum valor for especificado para peeredNetworkIpRange, será usado o 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 é de 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 do builder é limitado ao número de IPs utilizáveis no intervalo (o número total possível de IPs no intervalo menos dois).

Consulte os exemplos a seguir para o campo peeredNetworkIpRange:

  • 192.168.0.0/24 especifica um intervalo de IP a partir de 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 2.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. Especifique um dos seguintes tipos de máquina:

  • e2-medium
  • e2-standard-2
  • e2-standard-4
  • e2-standard-8
  • e2-standard-16
  • e2-standard-32
  • e2-highmem-2
  • e2-highmem-4
  • e2-highmem-8
  • e2-highmem-16
  • e2-highcpu-2
  • e2-highcpu-4
  • e2-highcpu-8
  • e2-highcpu-16
  • e2-highcpu-32

Se você não especificar um valor, o Cloud Build usará o valor padrão de e2-medium.

A seguir