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 Einstiegspunktbefehl und -argumente für einen Cloud Run-Worker-Pool mit der Google Cloud CLI festlegen, wenn Sie einen neuen Worker-Pool erstellen oder eine neue Überarbeitung 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:

  • WORKER_POOL durch den Namen des Worker-Pools.
  • COMMAND durch den Befehl, mit dem der Container gestartet werden soll, wenn Sie nicht den Standardbefehl verwenden.
  • ARG1 durch 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 ""

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 Standardprüfung der Start-Systemdiagnose für Worker-Pools gibt.

So geben Sie die Startreihenfolge mit der Google Cloud CLI an:

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:

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 WORKER_POOL durch den Namen des Worker-Pools, in dem Sie die Bereitstellung vornehmen. Wenn Sie diesen Parameter weglassen, werden Sie später nach dem Namen des Worker-Pools gefragt.
  • 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.
  • Ersetzen Sie SIDECAR_IMAGE durch einen 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.