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 wird beschrieben, wie Sie den Befehl, die Argumente und die Startreihenfolge für Container in Ihren Cloud Run-Jobs 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

Sie können den Befehlseinstiegspunkt und die Argumente für Jobs über dieGoogle Cloud Console, die gcloud CLI, YAML oder Terraform konfigurieren:

Console

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

    Zu Cloud Run

  2. Wählen Sie im Cloud Run-Navigationsmenü Jobs aus:

    1. Wenn Sie einen neuen Job erstellen, klicken Sie auf Container bereitstellen, um die Seite mit den anfänglichen Jobeinstellungen auszufüllen.

    2. 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, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.

  4. Geben Sie den Befehl an, den der Container ausführen soll, falls der Befehl in Ihrem Container nicht definiert ist.

  5. Optional: Geben Sie die Argumente für den Einstiegspunktbefehl an.

  6. Klicken Sie auf Erstellen oder Aktualisieren.

gcloud

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

    gcloud run jobs create JOB --image IMAGE_URL --command COMMAND --args ARG1,ARG_N

    Ersetzen Sie Folgendes:

    • JOB: Der Name Ihres Cloud Run-Jobs.
    • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
    • COMMAND: Der Befehl, mit dem der Container gestartet werden soll, wenn Sie nicht den Standardbefehl verwenden.
    • ARG1: das Argument, das Sie an den Containerbefehl senden. Verwenden Sie für mehr als ein Argument 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.
  • So aktualisieren Sie den Befehl und die Argumente für einen vorhandenen Job:

    gcloud run jobs update JOB --command COMMAND --args ARG1,ARG_N 
  • Wenn Sie alle Einstiegspunktbefehle und -argumente löschen möchten, führen Sie den folgenden Befehl aus:

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

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 --format export > job.yaml
  2. Aktualisieren Sie die Attribute args: und command:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE_URL
                args:
                - ARG1'
                - ARG_N
                command:
                - COMMAND
                

    Ersetzen Sie Folgendes:

    • JOB: Der Name Ihres Cloud Run-Jobs.
    • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
    • ARG1: 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.
    • COMMAND: der Befehl, mit dem der Container gestartet werden soll, wenn Sie nicht den Standardbefehl verwenden.
  3. Aktualisieren Sie die vorhandene Jobkonfiguration:

    gcloud run jobs replace job.yaml

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"
 location = "REGION"

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

Ersetzen Sie Folgendes:

  • JOB: Der Name Ihres Cloud Run-Jobs.
  • REGION: die Google Cloud Region. Beispiel: europe-west1.
  • COMMAND: Der Befehl, mit dem der Container gestartet werden soll, wenn Sie nicht den Standardbefehl verwenden.
  • ARG1: 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.

Arbeitsverzeichnis festlegen

Im Arbeitsverzeichnis werden die Befehle und Argumente des Containers ausgeführt. Sie können beim Bereitstellen eines neuen oder vorhandenen Dienstes ein benutzerdefiniertes Arbeitsverzeichnis für den Containerprozess angeben. Wenn nicht angegeben, wird das Standardarbeitsverzeichnis des Container-Images verwendet. Wenn Sie dieses Feld auf den Standardwert zurücksetzen möchten, übergeben Sie einen leeren String oder entfernen Sie das Feld.

Sie können ein Arbeitsverzeichnis mit der gcloud CLI, YAML oder Terraform festlegen:

gcloud

So aktualisieren Sie das Arbeitsverzeichnis für einen vorhandenen Job:

gcloud run jobs update JOB --workdir WORKING_DIR

Ersetzen Sie Folgendes:

  • JOB: Der Name Ihres Cloud Run-Jobs.
  • WORKING_DIR: Das Arbeitsverzeichnis des Containers. Wenn nichts angegeben ist, wird der Standardwert des Container-Images verwendet. Wenn Sie dieses Feld auf den Standardwert zurücksetzen möchten, übergeben Sie einen leeren String "".

Führen Sie den folgenden Befehl aus, um das Arbeitsverzeichnis beim Erstellen eines Jobs anzugeben:

gcloud run jobs create JOB --image IMAGE_URL --workdir WORKING_DIR

Ersetzen Sie Folgendes:

  • JOB: Der Name Ihres Cloud Run-Jobs.
  • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
  • WORKING_DIR: Arbeitsverzeichnis des Containers. Wenn es nicht angegeben ist, wird der Standardwert des Container-Images verwendet. Wenn Sie dieses Feld auf den Standardwert zurücksetzen möchten, übergeben Sie einen leeren String "".

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 --format export > job.yaml
  2. Aktualisieren Sie das Attribut workingDir::

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
     name: JOB
    spec:
     template:
       spec:
         template:
           spec:
             containers:
             - image: IMAGE_URL
               workingDir: WORKING_DIR
               

    Ersetzen Sie Folgendes:

    • JOB: Der Name Ihres Cloud Run-Jobs.
    • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
    • WORKING_DIR (optional): Arbeitsverzeichnis des Containers. Wenn nichts angegeben ist, wird die Standardeinstellung der Containerlaufzeit verwendet, die möglicherweise im Container-Image konfiguriert ist.
  3. Aktualisieren Sie die vorhandene Jobkonfiguration:

    gcloud run jobs replace job.yaml

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"
 location = "REGION"

 template {
   template {
     containers {
       image = "us-docker.pkg.dev/cloudrun/container/job"
       working_dir = WORKING_DIR
     }
   }
 }
}

Ersetzen Sie Folgendes:

  • JOB: Der Name Ihres Cloud Run-Jobs.
  • REGION: die Google Cloud Region. Beispiel: europe-west1.
  • WORKING_DIR (Optional): Das Arbeitsverzeichnis des Containers. Wenn nicht angegeben, wird die Standardeinstellung der Containerlaufzeit verwendet, die möglicherweise im Container-Image konfiguriert ist.

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 gcloud CLI oder YAML verwenden, um die Startreihenfolge anzugeben:

Console

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

    Zu Cloud Run

  2. Wenn Sie einen neuen Job erstellen, gehen Sie so vor:

    1. Klicken Sie auf Container bereitstellen.
    2. Geben Sie den Jobnamen, die Job-Container-URL, die Region und die Anzahl der Aufgaben an.
    3. Klicken Sie auf Container, Netzwerk, Sicherheit, um den Bereich zu maximieren.
    4. Konfigurieren Sie den Hauptjob-Container.
    5. Klicken Sie auf Container hinzufügen, um alle Sidecar-Container hinzuzufügen, die Sie bereitstellen.
    6. 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. Wenn Sie einen vorhandenen Job konfigurieren, gehen Sie so vor:

    1. Wählen Sie den Job aus, den Sie aktualisieren möchten.
    2. Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.
    3. Klicken Sie auf Container, Verbindungen, Sicherheit, um den Bereich zu maximieren.
    4. 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

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

  • JOB: Der Name Ihres Cloud Run-Jobs.
  • CONTAINER_1_NAME: Ein Name für den Hauptjob-Container.
  • JOB_IMAGE: ein Verweis auf das Container-Image des Hauptjobs, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
  • CONTAINER_2_NAME: ein Name für den Sidecar-Container, z. B. sidecar.
  • 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.

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 --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 Sie Folgendes:

    • 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.
    • CONTAINER2: Der Name des Containers, der vor CONTAINER1 gestartet werden muss.
    • CONTAINER3: der Name 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

    Der Befehl gcloud run jobs replace verwendet standardmäßig die Datei job.yaml, sofern sie vorhanden ist.

Container-Einstellungen aufrufen

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

Console

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

    Zu Cloud Run-Jobs

  2. Klicken Sie auf den 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. Führen Sie dazu diesen Befehl aus:

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