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:
- Rolle Cloud Run-Entwickler (
roles/run.developer) im Cloud Run-Job - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Dienstidentität
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
Rufen Sie in der Google Cloud Console die Seite „Cloud Run“ auf:
Wählen Sie im Cloud Run-Navigationsmenü Jobs aus:
Wenn Sie einen neuen Job erstellen, 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.
Klicken Sie auf Container, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.
Geben Sie den Befehl an, den der Container ausführen soll, falls der Befehl in Ihrem Container nicht definiert ist.
Optional: Geben Sie die Argumente für den Einstiegspunktbefehl an.
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
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
Aktualisieren Sie die Attribute
args:undcommand: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.
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 einergoogle_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
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
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.
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 einergoogle_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
Wechseln Sie in der Google Cloud -Console zur Seite Cloud Run-Jobs:
Wenn Sie einen neuen Job erstellen, gehen Sie so vor:
- Klicken Sie auf Container bereitstellen.
- Geben Sie den Jobnamen, die Job-Container-URL, die Region und die Anzahl der Aufgaben an.
- Klicken Sie auf Container, Netzwerk, Sicherheit, um den Bereich zu maximieren.
- Konfigurieren Sie den Hauptjob-Container.
- Klicken Sie auf Container hinzufügen, um alle Sidecar-Container hinzuzufügen, die Sie bereitstellen.
- 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.
Wenn Sie einen vorhandenen Job konfigurieren, gehen Sie so vor:
- Wählen Sie den Job aus, den Sie aktualisieren möchten.
- Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.
- Klicken Sie auf Container, Verbindungen, Sicherheit, um den Bereich zu maximieren.
- Wenn ein Container von anderen Containern abhängt, wählen Sie diese Container im Menü Container-Startreihenfolge aus.
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
containeran.
YAML
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
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
CONTAINER1durch 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.
- Ersetzen Sie
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run jobs replace job.yaml
Der Befehl
gcloud run jobs replaceverwendet standardmäßig die Dateijob.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
Wechseln Sie in der Google Cloud -Console zur Seite „Cloud Run-Jobs“:
Klicken Sie auf den Job, um die Seite Jobdetails zu öffnen.
Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.
Suchen Sie in den Konfigurationsdetails die Containereinstellung.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud run jobs describe JOB
Suchen Sie in der zurückgegebenen Konfiguration nach der Containereinstellung.