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 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 à laquelle les VM peuvent être attribuées 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émarrage non valide, le pool privé ne peut pas être créé.

peeredNetworkIpRange est spécifié avec 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épart 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. Elle 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 réduit la plage d'adresses IP. Étant donné qu'une adresse IP est de 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 compilateur est limité au nombre d'adresses IP utilisables dans la plage (le nombre total d'adresses IP possibles dans la plage moins deux).

Consultez les exemples suivants pour le 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 et 254 adresses IP utilisables).
  • /29 spécifie une plage avec une adresse IP de départ déterminée automatiquement et une taille de préfixe de sous-réseau de 29 (huit adresses IP et six adresses IP 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 à 2 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é. Spécifiez l'un des types de machines suivants :

  • 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

Si vous ne spécifiez pas de valeur, Cloud Build utilise la valeur par défaut e2-medium.

Étapes suivantes