Private Pools erstellen und verwalten

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

  1. 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.

  2. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  3. Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren und konfigurieren Sie die Google Cloud CLI.

  4. 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.

  5. 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

  1. Öffnen Sie die Seite Worker-Pool in der Google Cloud Console:

    Seite "Cloud Build-Worker-Pool" öffnen

  2. 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:

  3. 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.

  4. Region: Wählen Sie die Region aus, in der Sie den privaten Pool erstellen möchten.

  5. Maschinenkonfiguration: Konfigurieren Sie Folgendes:

    1. Reihe: Wählen Sie eine Maschinenserie aus.

    2. 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.

    3. 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.

    4. 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.

  6. Wählen Sie unter Netzwerktyp eine der folgenden Optionen aus:

    1. 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.

    2. Privates Netzwerk: Wählen Sie diese Option aus, wenn Ihre Instanz in einem privaten Netzwerk gehostet wird, und gehen Sie dann so vor:

      1. Projekt: Wählen Sie Ihre Google Cloud Projekt-ID aus.

      2. 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.

      3. 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 von 192.0.2.0 bis 192.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.

    3. 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.

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

  1. Erstellen Sie die Konfigurationsdatei für den privaten Pool im YAML- oder JSON-Format.

  2. Führen Sie den folgenden gcloud-Befehl aus, wobei PRIVATEPOOL_ID eine eindeutige Kennung für Ihren privaten Pool, PRIVATEPOOL_CONFIG_FILE der Name Ihrer Konfigurationsdatei für den privaten Pool und REGION 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 Format projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME haben, wobei NETWORK_PROJECT_ID die Projekt-ID des Google Cloud -Projekts ist, das Ihr VPC-Netzwerk enthält, und NETWORK_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ährend gcloud builds submit eine andere Laufwerksgröße angeben.
  • PRIVATEPOOL_MACHINE_TYPE: Der Maschinentyp des Workers. Bleibt das Flag leer, verwendet Cloud Build den Standardwert e2-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ährend gcloud 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

  1. Erstellen Sie die Konfigurationsdatei für den privaten Pool mit dem Namen workerpool.json.

  2. 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

  1. Öffnen Sie die Seite Worker-Pool in der Google Cloud Console:

    Seite "Cloud Build-Worker-Pool" öffnen

  2. Wählen Sie das Projekt aus, in dem Sie den privaten Pool erstellt haben.

  3. Klicken Sie auf den Namen des privaten Pools.

  4. Aktualisieren Sie auf der Seite Privaten Pool bearbeiten den Maschinentyp und die Laufwerkgröße nach Bedarf.

  5. Klicken Sie auf Speichern.

gcloud

So aktualisieren Sie die Konfigurationsdatei des privaten Pools:

  1. Aktualisieren Sie das Feld, das Sie in Ihrer Konfigurationsdatei für den privaten Pool ändern möchten.

  2. 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, und PRIVATEPOOL_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

  1. Aktualisieren Sie in der Konfigurationsdatei für den privaten Pool die Laufwerkgröße und den Maschinentyp nach Bedarf.

  2. 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

  1. Öffnen Sie die Seite Worker-Pool in der Google Cloud Console:

    Seite "Cloud Build-Worker-Pool" öffnen

  2. Wählen Sie das Projekt aus, in dem Sie den privaten Pool erstellt haben.

  3. 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

  1. Öffnen Sie die Seite Worker-Pool in der Google Cloud Console:

    Seite "Cloud Build-Worker-Pool" öffnen

  2. 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.

Nächste Schritte