Container für Jobs konfigurieren

Auf dieser Seite wird beschrieben, wie Sie den Einstiegspunktbefehl und die Argumente für einen Cloud Run-Job 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 Job können maximal 1.000 Argumente verwendet werden.

Auf dieser Seite erfahren Sie, wie Sie den Befehl, die Argumente und die Startreihenfolge für Container in Ihren Cloud Run-Jobs konfigurieren. Sie können diese Einstellungen über dieGoogle Cloud -Konsole, die Google Cloud CLI oder YAML konfigurieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren von Cloud Run-Jobs 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-Job 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

So konfigurieren Sie den Befehlseinstiegspunkt und die Argumente für Jobs:

Konsole

  1. Wechseln Sie in der Google Cloud -Console zur Seite „Cloud Run-Jobs“:

    Zu Cloud Run

  2. Wählen Sie im Menü Jobs aus und klicken Sie auf Container bereitstellen, um die Seite mit den anfänglichen Jobeinstellungen auszufüllen. Wenn Sie einen vorhandenen Job konfigurieren, wählen Sie den Job aus und klicken Sie dann auf Jobkonfiguration ansehen und bearbeiten.

  3. Klicken Sie auf Container, Volumes, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.

  4. Klicken Sie auf den Tab Allgemein.

    Bild

    • Geben Sie den Befehl an, den der Container ausführen soll, wenn dieser von dem Befehl abweicht, der in Ihrem Container definiert ist. Geben Sie optional die Argumente für den Einstiegspunktbefehl an.
  5. Klicken Sie auf Erstellen oder Aktualisieren.

gcloud

  1. So legen Sie den Startbefehl und die Argumente für einen neuen Job fest:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

    Ersetzen

    • JOB_NAME durch den Namen des Jobs.
    • 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 für mehrere Argumente eine durch Kommas getrennte Liste, z. B. --args="arg1", "arg2", "arg3". Wenn Ihre Argumente Kommas oder Sonderzeichen enthalten, lesen Sie den Abschnitt Gleichheitszeichen oder Kommas in Argumenten verwenden.
    • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.

So aktualisieren Sie den Befehl und die Argumente für einen vorhandenen Job:

gcloud run jobs update JOB_NAME --command COMMAND --args ARG1,ARG-N 

YAML

  1. Wenn Sie einen neuen Job erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Job aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Aktualisieren Sie die Attribute args: und command:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB_NAME
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - args:
                - 'ARG1'
                - 'ARG-N'
                command:
                - COMMAND
                image: IMAGE

    Ersetzen

    • 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. Geben Sie optional zusätzliche Argumente in einer separaten Zeile an. Wenn Ihre Argumente Kommas oder Sonderzeichen enthalten, lesen Sie den Abschnitt Gleichheitszeichen oder Kommas in Argumenten verwenden.

    Sie können auch weitere Konfigurationen angeben, z. B. Umgebungsvariablen oder Speicherlimits.

  3. Aktualisieren Sie die vorhandene Jobkonfiguration:

    gcloud run jobs replace job.yaml

Wenn Sie alle festgelegten Einstiegspunktbefehle und -argumente löschen (die Containerstandardeinstellungen wiederherstellen) möchten, geben Sie leere Strings so an:

gcloud run jobs update JOB_NAME --command "" --args "" 

Terraform

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

Fügen Sie einer google_cloud_run_v2_job-Ressource in Ihrer Terraform-Konfiguration Folgendes hinzu:
resource "google_cloud_run_v2_job" "default" {
 name     = "JOB_NAME"
 location = "REGION"

 template {
   template {
     containers {
       image = "us-docker.pkg.dev/cloudrun/container/job"
       command = ["COMMAND"]
       args = ["ARG1", "ARG-N"]
     }
   }
 }
}

Ersetzen Sie:

  • JOB_NAME durch den Namen Ihres Cloud Run-Jobs.
  • REGION durch die Google Cloud Region. Beispiel: europe-west1.
  • 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. Geben Sie optional zusätzliche Argumente an. Wenn Ihre Argumente Kommas oder Sonderzeichen enthalten, lesen Sie den Abschnitt Gleichheitszeichen oder Kommas in Argumenten verwenden.

Gleichheitszeichen oder Kommas in Argumenten verwenden

Wenn Sie in Ihren Argumenten Gleichheitszeichen verwenden, geben Sie diese im folgenden Format an:

gcloud run deploy  \
  --args="--repo-allowlist=github.com/example/example_demo"

Wenn Ihre Argumente Kommas verwenden, finden Sie unter Umgebungsvariablen konfigurieren ausführliche Informationen zur Maskierung.

Container-Einstellungen aufrufen

So rufen Sie die aktuellen Container-Einstellungen für Ihren Cloud Run-Job auf:

Konsole

  1. Wechseln Sie in der Google Cloud -Console zur Seite „Cloud Run-Jobs“:

    Zu Cloud Run-Jobs

  2. Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.

  3. Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.

  4. Suchen Sie in den Konfigurationsdetails die Containereinstellung.

gcloud

  1. Verwenden Sie den folgenden Befehl:

    gcloud run jobs describe JOB_NAME
  2. Suchen Sie in der zurückgegebenen Konfiguration nach der Containereinstellung.

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. Sie geben alle Container mit Abhängigkeiten an und listen die Container auf, von denen sie abhängig sind. Die Container, die keine Abhängigkeiten haben, werden immer zuerst und gleichzeitig gestartet.

Sie können die Google Cloud Console, die Google Cloud CLI oder YAML verwenden, um die Startreihenfolge anzugeben:

Konsole

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

    Zu Cloud Run

    • Klicken Sie für einen vorhandenen Job auf Jobs. Klicken Sie dann auf den Job in der Liste und wählen Sie Jobkonfiguration ansehen und bearbeiten aus, um das Formular Job bearbeiten aufzurufen.
    • Klicken Sie für einen neuen Job auf Container bereitstellen und wählen Sie Job aus, um das Formular Job erstellen aufzurufen.
  2. Geben Sie für einen neuen Job den Jobnamen, die Job-Container-URL, die Region und die Anzahl der Aufgaben an. Führen Sie auf dem Tab Container, Volumes, Netzwerk, Sicherheit die folgenden Schritte aus:

    1. Konfigurieren Sie den Hauptjob-Container.
    2. Klicken Sie auf Container hinzufügen, um alle Sidecar-Container hinzuzufügen, die Sie bereitstellen.
    3. Wenn ein Container von anderen Containern abhängt, wählen Sie im Menü Container-Startreihenfolge die Container aus, die Cloud Run vor dem aktuellen Container starten muss.
  3. Gehen Sie für einen vorhandenen Job für jeden Container so vor:

    1. Sehen Sie sich die Container an, die im Menü Reihenfolge des Containerstarts aufgeführt sind.
    2. Wenn ein Container von anderen Containern abhängt, wählen Sie diese Container im Menü Container-Startreihenfolge aus.
  4. Schließen Sie alle anderen erforderlichen Konfigurationen ab und klicken Sie dann für einen neuen Job auf Erstellen oder für einen vorhandenen Job auf Aktualisieren. Warten Sie, bis die Bereitstellung abgeschlossen ist.

gcloud

  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 Job bereitzustellen:

    gcloud beta run create JOB \
       --container CONTAINER_1_NAME --image='JOB_IMAGE' \
       --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \
       --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAMECONTAINER_2_NAME

    Ersetzen Sie:

    • JOB durch den Namen des Jobs, für den Sie die Bereitstellung vornehmen. Sie können diesen Parameter auch weglassen, werden dann jedoch nach dem Jobnamen gefragt.
    • CONTAINER_1_NAME durch einen Namen für den Hauptjobcontainer.
    • JOB_IMAGE durch einen Verweis auf das Container-Image des Hauptjobs, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
    • CONTAINER_2_NAME durch einen Namen für den Sidecar-Container, z. B. sidecar.
    • 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.

  3. YAML

    1. Wenn Sie einen neuen Job erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Job aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

      gcloud run jobs describe JOB_NAME --format export > job.yaml
    2. Aktualisieren Sie das Attribut container-dependencies:

      apiVersion: run.googleapis.com/v1
      kind: Job
      metadata:
        annotations:
          run.googleapis.com/launch-stage: BETA
        name: JOB
      spec:
        template:
          metadata:
            annotations:
              run.googleapis.com/container-dependencies: '{"CONTAINER1":["CONTAINER2"], "CONTAINER3":["CONTAINER1","CONTAINER2"]}'
      

      Ersetzen

      • Ersetzen Sie CONTAINER1 durch den Namen des ersten Containers, der von einem oder mehreren Containern abhängt. Beachten Sie, dass Sie den Containernamen in der YAML-Datei festlegen können: Cloud Run generiert automatisch einen Namen, wenn keiner angegeben wird.
      • Ersetzen Sie CONTAINER2 durch den Namen des Containers, der vor CONTAINER1 gestartet werden muss.
      • CONTAINER3 durch den Namen des zweiten Containers, der von einem oder mehreren Containern abhängt.

      Im Beispiel im YAML-Snippet wird CONTAINER2 als erstes, CONTAINER1 als zweites und CONTAINER3 als letztes gestartet.

    3. Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:

      gcloud run jobs replace job.yaml