Eine Konfigurationsdatei für den privaten Pool (Konfigurationsdatei für privaten Pool) enthält eine Anleitung zur Erstellung eines privaten Pools gemäß den Spezifikationen von Cloud Build. Eine Konfigurationsdatei für den privaten Pool enthält Informationen wie die Laufwerksgröße und den Maschinentyp, die Sie für Ihren privaten Pool verwenden möchten. Die Konfigurationsdatei für den privaten Pool ist erforderlich, wenn Sie benutzerdefinierte private Pools mit dem gcloud-Tool oder der Cloud Build API erstellen und verwalten.
Struktur einer Konfigurationsdatei für den privaten Pool
Sie können die Konfigurationsdatei des privaten Pools in der YAML- oder JSON-Syntax schreiben. Wenn Sie private Pools mit curl erstellen und verwalten möchten, schreiben Sie die Konfigurationsdatei des privaten Pools im JSON-Format. Wenn Sie private Pools mit dem gcloud-Tool erstellen und verwalten möchten, schreiben Sie die Konfigurationsdatei des privaten Pools in das YAML- oder JSON-Format.
Eine Konfigurationsdatei für die Erstellung des privaten Pools hat folgende Struktur:
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,
workerRelease: CHANNEL_OR_VERSION
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",
"workerRelease": "CHANNEL_OR_VERSION"
}
}
}
Die Felder in der Konfigurationsdatei für den privaten Pool werden so erklärt:
networkConfig
Dieses Feld ist optional. Geben Sie networkConfig nur an, wenn Sie Ihr VPC-Netzwerk mit dem Diensterstellernetzwerk verbinden.
egressOption
Dieses Feld ist optional. Setzen Sie den Wert dieses Felds auf NO_PUBLIC_EGRESS, wenn Sie Ihren privaten Pool in einem VPC Service Controls-Perimeter erstellen. Wenn Sie dieses Feld nicht in die Konfigurationsdatei des privaten Pools aufnehmen, ist der öffentliche ausgehende Traffic aktiviert.
Informationen zum Einrichten von VPC Service Controls für private Pools finden Sie unter VPC Service Controls verwenden.
peeredNetwork
Dies ist ein Pflichtfeld, wenn die Konfigurationsdatei des privaten Pools das Feld networkConfig enthält. Legen Sie den Wert dieses Felds auf die Netzwerkressourcen-URL des VPC-Netzwerk fest, das mit dem Netzwerk des Diensterstellers per Peering verbunden ist. Die URL der Netzwerkressource muss das Format projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME haben. Dabei ist NETWORK_PROJECT_ID die Projekt-ID des Google Cloud Projekts, das Ihr VPC-Netzwerk enthält, und NETWORK_NAME der Name Ihres VPC-Netzwerks.
Wenn Sie keinen Wert angeben, verwendet Cloud Build standardmäßig das Netzwerk des Diensterstellers.
peeredNetworkIpRange
Dieses Feld ist optional. Legen Sie den Wert dieses Felds fest, um den internen IP-Bereich anzugeben, dem VMs innerhalb des zugewiesenen Bereichs des Peering-Netzwerks zugewiesen werden können. Wenn der angegebene IP-Bereich nicht innerhalb des Bereichs der privaten Verbindung zugewiesen werden kann, z. B. aufgrund von Größenbeschränkungen oder einer ungültigen Start-IP-Adresse, kann der private Pool nicht erstellt werden.
peeredNetworkIpRange wird in CIDR-Notation (Classless Inter-Domain Routing) im Format 'STARTING_IP/SUBNET_PREFIX_SIZE' angegeben.
Wenn dieses Feld verwendet wird, muss SUBNET_PREFIX_SIZE angegeben werden.
SUBNET_PREFIX_SIZE bestimmt die Größe des IP-Bereichs. Er muss mit einem Schrägstrich (/) beginnen und einen Wert von höchstens 29 haben.Der Teil STARTING_IP ist optional und gibt die Startadresse des Bereichs an. Wenn STARTING_IP nicht angegeben ist, wird automatisch eine Startadresse aus dem Bereich der privaten Verbindung zugewiesen. Wenn für peeredNetworkIpRange kein Wert angegeben ist, wird der Standardwert /24 verwendet, mit dem automatisch eine Start-IP mit einem Bereich von 256 IPs zugewiesen wird.
Der Wert von SUBNET_PREFIX_SIZE darf 29 nicht überschreiten. Eine größere Zahl gibt ein größeres Subnetzpräfix an, wodurch weniger mögliche IP-Adressen und ein kleinerer IP-Adressbereich verbleiben. Da eine IP-Adresse 32 Bit hat, sind bei einer Präfixgröße von /24 256 mögliche IP-Adressen im Bereich (8 Bit) zulässig, während bei einer Präfixgröße von /29 nur 8 mögliche IP-Adressen (3 Bit) übrig bleiben. Die maximale Anzahl von Builder-VMs ist auf die Anzahl der nutzbaren IPs im Bereich begrenzt (die Gesamtzahl der möglichen IPs im Bereich minus zwei).
Hier finden Sie Beispiele für das Feld peeredNetworkIpRange:
192.168.0.0/24gibt einen IP-Bereich an, der mit 192.168.0.0 beginnt und eine Subnetzpräfixgröße von 24 hat (256 IPs, davon 254 nutzbar)./29gibt einen Bereich mit einer automatisch bestimmten Start-IP-Adresse und einer Subnetzpräfixgröße von 29 (acht IP-Adressen, davon sechs nutzbare IP-Adressen) an.
workerConfig
Dies ist ein erforderliches Feld. Es enthält Konfigurationsoptionen für den privaten Pool.
diskSizeGb
Dieses Feld ist optional. Geben Sie in diesem Feld eine Laufwerkgröße für die private Poolinstanz in GB an. Geben Sie einen Wert an, der größer oder gleich 100 und kleiner oder gleich 4.000 ist. Wenn Sie dieses Feld nicht in Ihre Konfigurationsdatei für den privaten Pool aufnehmen oder 0 als Wert für dieses Feld angeben, verwendet Cloud Build den Standardwert 100.
machineType
Dieses Feld ist optional. Geben Sie in diesem Feld den Compute Engine-Maschinentyp für die private Poolinstanz an. Wenn Sie keinen Wert angeben, verwendet Cloud Build den Standardwert e2-medium. Geben Sie andernfalls einen der folgenden Maschinentypen an:
Maschinentypen
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 |
In der folgenden Tabelle ist die Verfügbarkeit von Maschinentypen nach Region aufgeführt:
Verfügbarkeit von Maschinentypen nach Region
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
Dieses Feld ist optional. Wenn in Ihrem privaten Pool eine VM mit einem C3-Maschinentyp verwendet wird, können Sie die verschachtelte Virtualisierung aktivieren, um andere VM-Instanzen in der VM Ihres privaten Pools auszuführen. Weitere Informationen finden Sie unter Verschachtelte Virtualisierung.
workerRelease
Dies ist ein optionales Feld, das entweder den Namen des Channels oder eine bestimmte Release-Version enthält, die für alle Builds verwendet werden soll, die diesen Worker-Pool nutzen.