Container für Worker-Pools konfigurieren

Auf dieser Seite wird beschrieben, wie Sie den Einstiegspunktbefehl und die Argumente für einen Cloud Run-Worker-Pool konfigurieren.

Wenn Cloud Run einen Container startet, werden der Standardeinstiegspunktbefehl und die Standardbefehlsargumente des Images ausgeführt. Wenn Sie den Standardeinstiegspunkt und die Befehlsargumente des Images überschreiben möchten, können Sie die Felder command und args in der Containerkonfiguration verwenden. Das Feld command gibt den tatsächlichen Befehl an, der vom Container ausgeführt wird. Das Feld args gibt die Argumente an, die an diesen Befehl übergeben werden.

Pro Container und Worker-Pool können maximal 1.000 Argumente verwendet werden.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren und Bereitstellen von Cloud Run-Worker-Pools benötigen:

Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Workerpool mitGoogle Cloud -APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.

Einstiegspunkt und Argumente konfigurieren

Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

Der angegebene Containerbefehl und die angegebenen Argumente überschreiben das Standard-Image ENTRYPOINT und CMD.

Sie können den Einstiegspunktbefehl und die Argumente für einen Cloud Run-Worker-Pool über dieGoogle Cloud Console, die Google Cloud CLI oder Terraform festlegen:

Konsole

  1. Rufen Sie in der Google Cloud Console Cloud Run auf:

    Zu Cloud Run

  2. Wählen Sie im Menü Worker-Pools aus und klicken Sie auf Container bereitstellen, um einen neuen Worker-Pool zu konfigurieren. Wenn Sie einen vorhandenen Worker-Pool konfigurieren möchten, klicken Sie auf den Worker-Pool und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Wenn Sie einen neuen Worker-Pool konfigurieren, füllen Sie die Seite mit den anfänglichen Worker-Pool-Einstellungen aus und klicken Sie dann auf Container, Volumes, Netzwerk, Sicherheit, um die Seite zur Konfiguration von Worker-Pools zu maximieren.

  4. Klicken Sie auf den Tab Container.

    Image

    • Geben Sie den Befehl an, den der Container ausführen soll, wenn Sie nicht den im Container-Image definierten Einstiegspunktbefehl verwenden möchten. Geben Sie optional die Argumente für den Einstiegspunktbefehl an.
  5. Klicken Sie auf Erstellen oder Bereitstellen.

gcloud

So aktualisieren Sie den Startbefehl und die Argumente für einen vorhandenen Dienst:

gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N

Ersetzen Sie Folgendes:

  • WORKER_POOL: der Name des Worker-Pools.
  • COMMAND: Der Befehl, mit dem der Container gestartet wird, wenn Sie nicht den Standardbefehl verwenden.
  • ARG1: das Argument, das Sie an den Containerbefehl senden. Verwenden Sie eine durch Kommas getrennte Liste für mehrere Argumente.

So geben Sie Einstiegspunkt und Argumente während der Bereitstellung eines neuen oder vorhandenen Worker-Pools an:

gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

Ersetzen Sie IMAGE_URL durch einen Verweis auf das Container-Image, das den Worker-Pool enthält, z. B. us-docker.pkg.dev/cloudrun/container/worker-pool:latest.

Wenn Sie die Containerstandardeinstellungen für die Einstiegspunktbefehle und -argumente wiederherstellen möchten, geben Sie leere Strings so an:

gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      command = ["COMMAND"]
      args = ["ARG1", "ARG2"]
    }
  }
}

Ersetzen Sie Folgendes:

  • WORKER_POOL: der Name des Worker-Pools.
  • REGION: die Google Cloud Region, z. B. europe-west1.
  • IMAGE_URL: Ein Verweis auf das Container-Image, das den Worker-Pool enthält, z. B. us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • COMMAND: Der Befehl, mit dem der Container gestartet wird, wenn Sie nicht den Standardbefehl verwenden.
  • ARG1, ARG2: die Argumente, die Sie an den Containerbefehl senden.

Container-Startreihenfolge für Sidecar-Bereitstellungen konfigurieren

Verwenden Sie die Funktion für Containerabhängigkeiten, um die Startreihenfolge für Container in einer Sidecar-Bereitstellung anzugeben. Geben Sie alle Container mit Abhängigkeiten an und listen Sie die Container auf, von denen sie abhängig sind, damit diese Container zuerst gestartet werden. Die Container, die keine Abhängigkeiten haben, werden immer zuerst und gleichzeitig gestartet.

Wenn Sie dieses Feature erfolgreich verwenden möchten, müssen Sie Systemdiagnose-Starttests verwenden. Mit der Startprüfung kann Cloud Run den Status eines abhängigen Containers prüfen. So wird sichergestellt, dass dieser erfolgreich durchlaufen wird, bevor er den nächsten Container startet. Wenn Sie keine Systemdiagnosen verwenden, werden Container in der angegebenen Reihenfolge auch dann gestartet, wenn die Container, von denen sie abhängen, nicht gestartet werden können.

Beachten Sie, dass es keine standardmäßige Startprüfung der Systemdiagnose für Worker-Pools gibt.

Verwenden Sie die Google Cloud Console oder die Google Cloud CLI, um die Startreihenfolge anzugeben:

Konsole

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud Run“ auf:

    Zu Cloud Run

    • Wählen Sie im Menü Worker-Pools aus.
    • Klicken Sie für einen vorhandenen Worker-Pool auf den Worker-Pool in der Liste und wählen Sie Neue Überarbeitung bearbeiten und bereitstellen aus, um das Formular für die Bereitstellung der Überarbeitung anzuzeigen.
    • Klicken Sie für einen neuen Worker-Pool auf Container bereitstellen, um das Formular Worker-Pool erstellen aufzurufen.
  2. Geben Sie für einen neuen Worker-Pool den Namen des Worker-Pools, die URL des eingehenden Containers, die CPU-Zuweisung, die Steuerung des eingehenden Traffics und die Authentifizierung an. Führen Sie auf dem Tab Container, Volumes, Netzwerk, Sicherheit die folgenden Schritte aus:

    1. Konfigurieren Sie den Container für eingehenden Traffic.
    2. Klicken Sie auf Container hinzufügen, um alle anderen Container hinzuzufügen, die Sie bereitstellen.
    3. Konfigurieren Sie für alle Container mit Ausnahme des Containers mit eingehendem Traffic eine Start-Systemdiagnose.
    4. Wenn ein Container nach bestimmten anderen Containern gestartet werden muss, wählen Sie diese Container im Menü Reihenfolge des Containerstarts aus.
  3. Führen Sie für einen vorhandenen Worker-Pool die folgenden Schritte aus:

    1. Konfigurieren Sie für alle Container mit Ausnahme des Containers mit eingehendem Traffic eine Start-Systemdiagnose.
    2. Jeder Container hat ein eigenes Menü für die Containerstartreihenfolge. Wenn ein Container zuerst andere Container starten muss, bevor er gestartet werden kann, wählen Sie im Menü Container-Startreihenfolge die Container aus, die zuerst gestartet werden müssen.
  4. Schließen Sie alle anderen erforderlichen Konfigurationen ab und klicken Sie dann für einen neuen Worker-Pool auf Erstellen oder für einen vorhandenen Worker-Pool auf Bereitstellen. Warten Sie, bis die Bereitstellung abgeschlossen ist.

gcloud

Bevor Sie die Google Cloud CLI zum Angeben der Startreihenfolge verwenden, müssen Sie eine Start-Systemdiagnose konfigurieren.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Führen Sie den folgenden Befehl aus, um mehrere Container mit einer angegebenen Startreihenfolge für einen Dienst bereitzustellen:

  3. gcloud beta run worker-pools deploy WORKER_POOL \
         --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE'
         --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \
         --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME

    Ersetzen Sie Folgendes:

    • WORKER_POOL: der Name des Worker-Pools.
    • IMAGE_URL: Ein Verweis auf das Container-Image, das den Worker-Pool enthält, z. B. us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • SIDECAR_IMAGE: ein Verweis auf das Sidecar-Container-Image.

      Wenn Sie jeden Container im Bereitstellungsbefehl konfigurieren möchten, geben Sie die Konfiguration jedes Containers nach den Parametern container an.

Containerkonfiguration für den Worker-Pool ansehen

  1. Rufen Sie in der Google Cloud Console Cloud Run auf:

    Zu Cloud Run

  2. Klicken Sie auf Worker-Pools, um die Liste der bereitgestellten Worker-Pools aufzurufen.

  3. Klicken Sie auf den Worker-Pool, den Sie untersuchen möchten, um den zugehörigen Detailbereich aufzurufen.

  4. Klicken Sie auf den Tab Container, um die Containerkonfiguration des Worker-Pools aufzurufen.