Schéma du fichier de configuration de pool privé

Un fichier de configuration de pool privé contient des instructions permettant à Cloud Build de créer un pool privé en fonction de vos spécifications. Un fichier de configuration de pool privé contient des informations telles que la taille du disque et le type de machine que vous souhaitez utiliser pour votre pool privé. Le fichier de configuration de pool privé est requis lorsque vous créez et gérez des pools privés à l'aide de l'outil gcloud ou de l'API Cloud Build.

Structure d'un fichier de configuration de pool privé

Vous pouvez écrire le fichier de configuration du pool privé à l'aide de la syntaxe YAML ou JSON. Pour créer et gérer des pools privés à l'aide de curl, écrivez le fichier de configuration du pool privé au format JSON. Pour créer et gérer des pools privés à l'aide de l'outil gcloud, écrivez le fichier de configuration du pool privé au format YAML ou JSON.

Un fichier de configuration de pool privé présente la structure suivante :

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"
    }
  }
}

Les champs du fichier de configuration du pool privé sont expliqués ci-dessous :

networkConfig

Ce champ est facultatif. Spécifiez networkConfig uniquement si vous appairez votre réseau VPC avec le réseau du producteur de services.

egressOption

Ce champ est facultatif. Définissez la valeur de ce champ sur NO_PUBLIC_EGRESS si vous créez votre pool privé dans un périmètre VPC Service Controls. Si vous n'incluez pas ce champ dans le fichier de configuration du pool privé, la sortie publique est activée. Pour en savoir plus sur la configuration de VPC Service Controls pour les pools privés, consultez la page Utiliser VPC Service Controls.

peeredNetwork

Ce champ est obligatoire si votre fichier de configuration de pool privé contient le champ networkConfig. Définissez la valeur de ce champ sur l'URL de la ressource réseau du réseau VPC appairé au réseau du producteur de services. L'URL de la ressource réseau doit être au format projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME, où NETWORK_PROJECT_ID est l'ID du projet Google Cloud qui contient votre réseau VPC, et NETWORK_NAME est le nom de votre réseau VPC. Si vous ne spécifiez pas de valeur, Cloud Build utilise le réseau du producteur de services par défaut.

peeredNetworkIpRange

Ce champ est facultatif. Définissez la valeur de ce champ pour spécifier la plage d'adresses IP internes pouvant être attribuées aux VM dans la plage allouée du réseau appairé. Si la plage d'adresses IP spécifiée ne peut pas être allouée dans la plage de la connexion privée (par exemple, en raison de limites de taille ou d'une adresse IP de début non valide), le pool privé ne peut pas être créé.

peeredNetworkIpRange est spécifié à l'aide de la notation CIDR (Classless Inter-Domain Routing) au format 'STARTING_IP/SUBNET_PREFIX_SIZE'. Si ce champ est utilisé, SUBNET_PREFIX_SIZE doit être spécifié. SUBNET_PREFIX_SIZE détermine la taille de la plage d'adresses IP. Il doit commencer par une barre oblique (/) et avoir une valeur inférieure ou égale à 29.La partie STARTING_IP est facultative et spécifie l'adresse de début de la plage. Si STARTING_IP n'est pas spécifié, une adresse de départ est automatiquement attribuée à partir de la plage de connexion privée. Si aucune valeur n'est spécifiée pour peeredNetworkIpRange, la valeur par défaut /24 sera utilisée, ce qui attribue automatiquement une adresse IP de départ avec une plage de 256 adresses IP.

La valeur de SUBNET_PREFIX_SIZE ne doit pas dépasser 29. Un nombre plus élevé spécifie un préfixe de sous-réseau plus grand, ce qui laisse moins d'adresses IP possibles et entraîne une plage d'adresses IP plus petite. Étant donné qu'une adresse IP comporte 32 bits, une taille de préfixe de /24 autorise 256 adresses IP possibles dans la plage (huit bits), tandis qu'une taille de préfixe de /29 laisse huit adresses IP possibles (trois bits). Le nombre maximal de VM de compilation est limité au nombre d'adresses IP utilisables dans la plage (le nombre total d'adresses IP possibles dans la plage moins deux).

Voici des exemples du champ peeredNetworkIpRange :

  • 192.168.0.0/24 spécifie une plage d'adresses IP commençant par 192.168.0.0 avec une taille de préfixe de sous-réseau de 24 (256 adresses IP, dont 254 utilisables).
  • /29 spécifie une plage avec une adresse IP de début déterminée automatiquement et une taille de préfixe de sous-réseau de 29 (huit adresses IP, dont six utilisables).

workerConfig

Ce champ est obligatoire. Il contient les options de configuration de votre pool privé.

diskSizeGb

Ce champ est facultatif. Utilisez ce champ pour spécifier la taille de disque pour votre instance de pool privé en Go. Spécifiez une valeur supérieure ou égale à 100 et inférieure ou égale à 4 000. Si vous n'incluez pas ce champ dans le fichier de configuration de votre pool privé ou si vous spécifiez 0 comme valeur de ce champ, Cloud Build utilise la valeur par défaut de 100.

machineType

Ce champ est facultatif. Utilisez ce champ pour spécifier le type de machine Compute Engine de votre instance de pool privé. Si vous ne spécifiez pas de valeur, Cloud Build utilise la valeur par défaut e2-medium. Sinon, spécifiez l'un des types de machines suivants :

Types de machine

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

Le tableau suivant indique la disponibilité des types de machines par région :

Disponibilité des types de machines par région

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

Ce champ est facultatif. Si votre pool privé utilise une VM avec un type de machine C3, vous pouvez activer la virtualisation imbriquée pour exécuter d'autres instances de VM dans la VM de votre pool privé. Pour en savoir plus, consultez À propos de la virtualisation imbriquée.

Étapes suivantes