Auf dieser Seite wird beschrieben, wie Sie private Cloud Build-Pools erstellen, aktualisieren, anzeigen und löschen. Wenn Sie mit privaten Pools nicht vertraut sind, lesen Sie die Übersicht zu privaten Pools.
Hinweise
Erstellen Sie ein neues Google Cloud Projekt oder wählen Sie ein vorhandenes Projekt aus. Sie verwenden dieses Projekt, um den privaten Pool zu erstellen.
-
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren und konfigurieren Sie die Google Cloud CLI.
Optional: Damit Builds auf private Ressourcen von Ihrem Virtual Private Cloud-Netzwerk aus zugreifen können, müssen Sie eine Peering-Verbindung zwischen Ihrem Virtual Private Cloud-Netzwerk und dem Virtual Private Cloud-Netzwerk einrichten, in dem sich private Pools befinden. Eine Anleitung finden Sie unter Umgebung für die Erstellung privater Pools einrichten.
Optional: Machen Sie sich mit den Maschinentypkonfigurationen und der regionalen Verfügbarkeit vertraut. Weitere Informationen finden Sie in der Dokumentation zum Schema der Konfigurationsdatei für private Pools unter
workerconfig
.
Privaten Pool erstellen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Build WorkerPool Owner (roles/cloudbuild.workerPoolOwner
) für Ihr Dienstkonto zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines privaten Pools benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Sie können bis zu 10 private Pools pro Google Cloud -Projekt und Region erstellen. So erstellen Sie einen privaten Pool:
Google Cloud Console
Öffnen Sie die Seite Worker-Pool in der Google Cloud Console:
Klicken Sie auf Privaten Pool erstellen.
Die Seite Privaten Pool erstellen wird angezeigt.
Geben Sie die folgenden Informationen ein, um einen privaten Pool zu erstellen:
Name: Geben Sie einen Namen für den privaten Pool ein. Dieser Wert darf nur alphanumerische Zeichen
/[a-z][0-9]/
oder Bindestriche-
enthalten. Der Name Ihres privaten Pools muss zwischen 1 und 63 Zeichen lang sein.Region: Wählen Sie die Region aus, in der Sie den privaten Pool erstellen möchten.
Maschinenkonfiguration: Konfigurieren Sie Folgendes:
Reihe: Wählen Sie eine Maschinenserie aus.
Maschinentyp: Diese Einstellung zeigt die Maschinentypen an, die der Worker-Pool basierend auf der von Ihnen ausgewählten Maschinenserie verwenden kann. Die verfügbaren Maschinentypen variieren je nach Region.
Laufwerkgröße: Geben Sie die Laufwerkgröße für den privaten Pool ein. Geben Sie einen Wert an, der größer oder gleich 100 und kleiner oder gleich 4.000 ist. Wenn Sie keinen Wert angeben, verwendet Cloud Build eine Laufwerkgröße von 100.
Verschachtelte Virtualisierung: Wenn Sie eine Maschine der C3-Serie ausgewählt haben, können Sie die verschachtelte Virtualisierung aktivieren. Mit dieser Funktion können Sie VM-Instanzen in anderen VMs ausführen und so Ihre eigenen Virtualisierungsumgebungen erstellen.
Wählen Sie unter Netzwerktyp eine der folgenden Optionen aus:
Standardnetzwerk: Wählen Sie diese Option aus, wenn Ihre Instanz über das öffentliche Internet zugänglich ist. Wenn die Option Standardnetzwerk ausgewählt ist, verwendet Ihr privater Pool das Netzwerk des Diensterstellers. Weitere Informationen finden Sie unter Umgebung für die Verwendung privater Pools in einem VPC-Netzwerk einrichten.
Privates Netzwerk: Wählen Sie diese Option aus, wenn Ihre Instanz in einem privaten Netzwerk gehostet wird, und gehen Sie dann so vor:
Projekt: Wählen Sie Ihre Google Cloud Projekt-ID aus.
Netzwerk: Wählen Sie Ihr Netzwerk aus dem Drop-down-Menü aus. Wenn Sie noch kein Netzwerk erstellt haben, finden Sie unter VPC-Netzwerke erstellen und verwalten eine Anleitung dazu.
IP-Bereich: Geben Sie den internen IP-Bereich ein, den das Cloud Build-Erstellernetzwerk verwenden kann, um VMs zuzuweisen, die eine Verbindung zu privaten Repositories aufrechterhalten.
Sie können den Bereich mit der CIDR-Notation (Classless Inter-Domain Routing) im Format
STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE
angeben.192.0.2.0/24
hat beispielsweise eine Präfixlänge von 24. Die ersten 24 Bit des IP-Bereichs werden als Subnetzmaske (192.0.2.0
) verwendet, während die möglichen Hostadressen von192.0.2.0
bis192.0.2.255
reichen.Der Wert für die Präfixlänge darf
/29
nicht überschreiten. Wenn kein Wert für den Bereich angegeben ist, wird automatisch der Standardwert/24
zugewiesen. Wenn kein Wert für die Präfixlänge angegeben ist, werden IP-Adressen automatisch im VPC-Netzwerk mit Peering zugewiesen. Wenn kein Wert für die IP-Adresse angegeben ist, wird der IP-Adresse automatisch ein Bereich innerhalb des per Peering verbundenen VPC-Netzwerk zugewiesen.
Externe IP-Adressen zuweisen: Diese Option ist standardmäßig ausgewählt, damit private Pools auf das öffentliche Internet zugreifen können. Deaktivieren Sie dieses Kästchen, um den Zugriff auf Ihr privates Netzwerk einzuschränken.
Klicken Sie auf Erstellen, um den privaten Pool zu erstellen.
gcloud
Zum Erstellen eines neuen privaten Pools haben Sie zwei Möglichkeiten: gcloud
Sie können die Konfigurationsdatei für den privaten Pool entweder an die gcloud
weitergeben oder die Konfigurationsoptionen direkt an gcloud
ausführen.
Übergeben Sie die Konfigurationsdatei des privaten Pools an den Befehl gcloud
:
Erstellen Sie die Konfigurationsdatei für den privaten Pool im YAML- oder JSON-Format.
Führen Sie den folgenden
gcloud
-Befehl aus, wobeiPRIVATEPOOL_ID
eine eindeutige Kennung für Ihren privaten Pool,PRIVATEPOOL_CONFIG_FILE
der Name Ihrer Konfigurationsdatei für den privaten Pool undREGION
die Region ist, in der Sie Ihren privaten Pool erstellen möchten:gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGION
Die Ausgabe sollte in etwa so aussehen:
Created [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/private-pool]. NAME CREATE_TIME STATUS private-pool 2018-11-19T16:08:24+00:00 RUNNING
Konfigurationsoptionen direkt an den Befehl gcloud
übergeben:
Führen Sie folgenden Befehl gcloud
aus:
gcloud builds worker-pools create PRIVATEPOOL_ID \
--project=PRIVATEPOOL_PROJECT_ID \
--region=REGION \
--peered-network=PEERED_NETWORK \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE_GB \
--no-public-egress
Wobei:
PRIVATEPOOL_ID
: Eine eindeutige ID für Ihren privaten Pool. Dieser Wert sollte 1-63 Zeichen umfassen und gültige Zeichen sind[a-zA-Z0-9_-]+
.PRIVATEPOOL_PROJECT_ID
: Die ID des Google Cloud Projekts, in dem Sie Ihren privaten Pool erstellen möchten.REGION
: eine der unterstützten Regionen.PEERED_NETWORK
: Die Netzwerkressourcen-URL des Netzwerks, das mit dem Netzwerk des Dienstanbieters verbunden ist.PEERED_NETWORK
muss das Formatprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
haben, wobeiNETWORK_PROJECT_ID
die Projekt-ID des Google Cloud -Projekts ist, das Ihr VPC-Netzwerk enthält, undNETWORK_NAME
der Name Ihres VPC-Netzwerks ist. Wenn Sie keinen Wert angeben, verwendet Cloud Build das Netzwerk des Dienstanbieters.PRIVATEPOOL_DISK_SIZE_GB
: Die Größe des Laufwerks, das an den privaten Pool angehängt ist. Geben Sie einen Wert an, der größer oder gleich 100 und kleiner oder gleich 4.000 ist. Wenn nicht angegeben, verwendet Cloud Build eine Laufwerkgröße von 100.--worker-disk-size
wird überschrieben, wenn Sie mithilfe von--disk-size
währendgcloud builds submit
eine andere Laufwerksgröße angeben.PRIVATEPOOL_MACHINE_TYPE
: Der Maschinentyp des Workers. Bleibt das Flag leer, verwendet Cloud Build den Standardwerte2-standard-2
. Eine Liste der unterstützten Maschinentypen finden Sie unter Schema für Private Pool-Konfigurationsdateien. Der Wert--worker-machine-type
wird überschrieben, wenn Sie mithilfe von--machine-type
währendgcloud builds submit
einen anderen Maschinentyp angeben.--no-public-egress
: Wenn dieses Flag festgelegt ist, wird der private Pool ohne externe IP-Adresse erstellt. Legen Sie dieses Flag fest, wenn Sie den privaten Pool innerhalb eines VPC Service Controls-Perimeters erstellen.
API
Erstellen Sie die Konfigurationsdatei für den privaten Pool mit dem Namen
workerpool.json
.Rufen Sie die Cloud Build API mit cURL auf:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/?workerPoolId=PRIVATEPOOL_ID -d @workerpool.json
Wobei:
PRIVATEPOOL_PROJECT_ID
: Die ID des Google Cloud Projekts, in dem Sie Ihren privaten Pool erstellen möchten.PRIVATEPOOL_ID
: ID für Ihren privaten Pool. Dieser Wert sollte 1-63 Zeichen umfassen und gültige Zeichen sind[a-zA-Z0-9_-]+
.REGION
ist eine der unterstützten Regionen zum Erstellen Ihres privaten Pools.
Privaten Pool in einem VPC Service Controls-Perimeter erstellen
Informationen zum Erstellen eines privaten Pools mit einem VPC Service Controls-Perimeter finden Sie unter VPC Service Controls verwenden.
Privaten Pool aktualisieren
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Build WorkerPool Editor (roles/cloudbuild.workerPoolEditor
) für Ihr Dienstkonto zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines privaten Pools benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
So aktualisieren Sie die Konfiguration eines privaten Pools:
Console
Öffnen Sie die Seite Worker-Pool in der Google Cloud Console:
Wählen Sie das Projekt aus, in dem Sie den privaten Pool erstellt haben.
Klicken Sie auf den Namen des privaten Pools.
Aktualisieren Sie auf der Seite Privaten Pool bearbeiten den Maschinentyp und die Laufwerkgröße nach Bedarf.
Klicken Sie auf Speichern.
gcloud
So aktualisieren Sie die Konfigurationsdatei des privaten Pools:
Aktualisieren Sie das Feld, das Sie in Ihrer Konfigurationsdatei für den privaten Pool ändern möchten.
Führen Sie den folgenden Befehl aus, wobei
PRIVATEPOOL_ID
die eindeutige Kennung für Ihren privaten Pool,REGION
die Region, in der sich Ihr privater Pool befindet, undPRIVATEPOOL_CONFIG_FILE
der Name Ihrer Konfigurationsdatei für den privaten Pool ist:gcloud builds worker-pools update PRIVATEPOOL_ID \ --region=REGION \ --config-from-file=PRIVATEPOOL_CONFIG_FILE
So übergeben Sie den Wert für die Aktualisierung direkt an den Befehl gcloud builds
worker-pools update
:
gcloud builds worker-pools update PRIVATEPOOL_ID \
--region=REGION \
--worker-disk-size=PRIVATEPOOL_DISK_SIZE \
--worker-machine-type=PRIVATEPOOL_MACHINE_TYPE
Wobei:
PRIVATEPOOL_ID
ist die ID des vorhandenen privaten Pools. Sie können diesen Wert nicht aktualisieren; müssen Sie eine vorhandene Private-Pool-ID angeben.REGION
: die Region, in der Sie Ihren privaten Pool erstellt haben.PRIVATEPOOL_DISK_SIZE
: Die aktualisierte Laufwerkgröße.PRIVATEPOOL_MACHINE_TYPE
ist der aktualisierte Maschinentyp.
API
Aktualisieren Sie in der Konfigurationsdatei für den privaten Pool die Laufwerkgröße und den Maschinentyp nach Bedarf.
Verwenden Sie cURL, um die Cloud Build API aufzurufen, und ersetzen Sie die Variablen durch die entsprechenden Werte:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID \ -d @workerpool.json
Wobei:
PRIVATEPOOL_ID
ist die ID Ihres privaten Pools.PRIVATEPOOL_PROJECT_ID
: die ID des Google Cloud Projekts, das Ihren privaten Pool enthält.REGION
: die Region, in der Sie Ihren privaten Pool erstellt haben.
Details des privaten Pools ansehen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Build WorkerPool Viewer (roles/cloudbuild.workerPoolViewer
) für Ihr Dienstkonto zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines privaten Pools benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
So zeigen Sie die Details eines privaten Pools an:
Console
Öffnen Sie die Seite Worker-Pool in der Google Cloud Console:
Wählen Sie das Projekt aus, in dem Sie den privaten Pool erstellt haben.
Klicken Sie auf den Namen des privaten Pools.
Die Seite Privaten Pool bearbeiten wird angezeigt.
gcloud
Wenn Sie die ID Ihres privaten Pools nicht kennen, führen Sie den folgenden Befehl aus, um die Details des privaten Pools aufzulisten:
gcloud builds worker-pools list --region=REGION --project=PRIVATEPOOL_PROJECT_ID
Wobei:
PRIVATEPOOL_PROJECT_ID
ist die ID desGoogle Cloud -Projekts, das den privaten Pool enthält.REGION
ist die Region des privaten Pools.
Die Ausgabe sollte in etwa so aussehen:
NAME CREATE_TIME STATUS
projects/[PRIVATEPOOL_PROJECT_ID]/locations/us-central1/workerPools/[PRIVATEPOOL_ID] 2018-11-19T16:08:24+00:00 RUNNING
Wenn Sie die ID des privaten Pools kennen, können Sie mit dem folgenden Befehl weitere Informationen zum privaten Pool abrufen:
gcloud builds worker-pools describe PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Wo
PRIVATEPOOL_ID
ist die ID Ihres privaten Pools.REGION
: die Region, in der Sie Ihren privaten Pool erstellt haben.PRIVATEPOOL_PROJECT_ID
: die ID des Google Cloud Projekts, das Ihren privaten Pool enthält.
API
Wenn Sie die ID Ihres privaten Pools nicht kennen, führen Sie den folgenden cURL-Befehl aus, um die Details Ihres privaten Pools aufzulisten. Dabei gilt: PRIVATEPOOL_PROJECT_ID
ist die ID des Google Cloud -Projekts, das den privaten Pool enthält:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools
Wenn Sie die ID Ihres privaten Pools kennen, führen Sie den folgenden curl-Befehl aus, um die Details Ihres privaten Pools abzurufen:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Wo
PRIVATEPOOL_ID
ist die ID Ihres privaten Pools.PRIVATEPOOL_PROJECT_ID
: die ID des Google Cloud Projekts, das Ihren privaten Pool enthält.REGION
: die Region, in der Sie Ihren privaten Pool erstellt haben.
Preisübersicht für private Pools ansehen
Wenn Sie einen privaten Pool erstellen oder aktualisieren, wird in der Seitenleiste Monatliche Schätzung auf den Seiten Privaten Pool erstellen und Privaten Pool bearbeiten eine Schätzung der monatlichen Kosten für die Ausführung Ihres Pools angezeigt. Die Berechnung basiert auf den folgenden Faktoren:
- Anzahl der virtuellen CPUs
- Maschinentyp
- Arbeitsspeicher
- Build-Minuten
- Region, nur für N2D- und C3-Maschinen
Die geschätzten Preise beinhalten keine Kosten für zusätzlichen Laufwerksspeicherplatz, der über die standardmäßig enthaltenen 100 GB hinausgeht. Die geschätzten Preise können je nach endgültiger Build-Konfiguration, tatsächlich verwendeten Build-Minuten und anderen Faktoren von den endgültigen Preisen abweichen. Weitere Informationen finden Sie unter Cloud Build-Preise.
Privaten Pool löschen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud Build WorkerPool Owner (roles/cloudbuild.workerPoolOwner
) für Ihr Dienstkonto zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines privaten Pools benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
So löschen Sie einen privaten Pool:
Console
Öffnen Sie die Seite Worker-Pool in der Google Cloud Console:
Klicken Sie in der Zeile mit dem privaten Pool auf das Papierkorbsymbol.
gcloud
Führen Sie zum Löschen eines Knotenpools den Befehl gcloud builds worker-pools
delete
aus:
gcloud builds worker-pools delete PRIVATEPOOL_ID \
--region=REGION \
--project=PRIVATEPOOL_PROJECT_ID
Wobei:
PRIVATEPOOL_ID
ist die ID Ihres privaten Pools.PRIVATEPOOL_PROJECT_ID
: die ID des Google Cloud Projekts, das Ihren privaten Pool enthält.REGION
: die Region, in der Sie Ihren privaten Pool erstellt haben.
Nachdem der private Pool gelöscht wurde, sollte in etwa folgende Ausgabe angezeigt werden:
Deleted [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/[PRIVATEPOOL_ID].
API
Rufen Sie die Cloud Build API mit cURL auf:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Wobei:
PRIVATEPOOL_ID
ist die ID Ihres privaten Pools.PRIVATEPOOL_PROJECT_ID
: die ID des Google Cloud Projekts, das Ihren privaten Pool enthält.REGION
: die Region, in der Sie Ihren privaten Pool erstellt haben.