Java-Job in Cloud Run erstellen und erstellen
Hinweise
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
- Installieren Sie die Google Cloud CLI.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
Suchen Sie das Compute Engine-Standarddienstkonto. Das Compute Engine-Standarddienstkonto wird standardmäßig automatisch erstellt und hat das folgende E-Mail-Format:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ersetzen Sie
PROJECT_NUMBER
durch Ihre Google Cloud-Projektnummer. Sie finden Ihre Projektnummer auf der Willkommensseite der Google Cloud Console oder durch Ausführen des folgenden Befehls:gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Für Produktionsumgebungen empfehlen wir dringend, ein neues Dienstkonto zu erstellen und ihm eine oder mehrere IAM-Rollen zuzuweisen, die die erforderlichen Mindestberechtigungen enthalten und dem Grundsatz der geringsten Berechtigung folgen.
- Damit Cloud Build Ihre Quellen erstellen kann, weisen Sie dem Compute Engine-Standarddienstkonto die Rolle Cloud Build-Dienstkonto zu. Führen Sie dazu Folgendes aus:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/cloudbuild.builds.builder
Beispieljob schreiben
So schreiben Sie einen Job in Java:
Erstellen Sie ein neues Verzeichnis mit dem Namen
jobs
und ersetzen Sie das aktuelle Verzeichnis durch dieses Verzeichnis:mkdir jobs cd jobs
Erstellen Sie in einem Unterverzeichnis mit dem Namen
src/main/java/com/example
eine DateiJobsExample.java
für den tatsächlichen Jobcode. Kopieren Sie die folgenden Beispielzeilen darin:Cloud Run-Jobs ermöglichen es Nutzern, die Anzahl der Aufgaben anzugeben, die der Job ausführen soll. In diesem Beispielcode wird gezeigt, wie Sie die integrierte Umgebungsvariable
CLOUD_RUN_TASK_INDEX
verwenden. Jede Aufgabe stellt eine laufende Kopie des Containers dar. Aufgaben werden normalerweise parallel ausgeführt. Die Verwendung mehrerer Aufgaben ist nützlich, wenn jede Aufgabe eine Teilmenge Ihrer Daten unabhängig verarbeiten kann.Jede Aufgabe kennt ihren Index, der in der Umgebungsvariable
CLOUD_RUN_TASK_INDEX
gespeichert ist. Die integrierte UmgebungsvariableCLOUD_RUN_TASK_COUNT
enthält die Anzahl der Aufgaben, die zum Zeitpunkt der Jobausführung über den Parameter--tasks
bereitgestellt werden.Der dargestellte Code zeigt auch, wie Aufgaben mit der integrierten Umgebungsvariable
CLOUD_RUN_TASK_ATTEMPT
wiederholt werden. Die Umgebungsvariable gibt an, wie oft diese Aufgabe wiederholt wurde, beginnend bei 0 für den ersten Versuch und erhöht sich um 1 für jeden nachfolgenden Versuch, bis--max-retries
.Außerdem können Sie Fehler generieren, um Wiederholungsversuche zu testen und Fehlerlogs zu generieren, um deren Aussehen zu verstehen.
Erstellen Sie eine
pom.xml
-Datei mit folgendem Inhalt:Erstellen Sie eine
project.toml
-Datei mit folgendem Inhalt, um einen Build mit der von Buildpack unterstützten Java-Version zu erstellen:
Ihr Code ist vollständig und kann in einen Container gepackt werden.
Jobcontainer erstellen, an Artifact Registry senden und in Cloud Run bereitstellen
Wichtig: In dieser Kurzanleitung wird davon ausgegangen, dass Sie Inhaber- oder Bearbeiterrollen in dem Projekt haben, das Sie für die Kurzanleitung verwenden. Andernfalls finden Sie in der Rolle „Cloud Run Source Developer“ die erforderlichen Berechtigungen zum Bereitstellen einer Cloud Run-Ressource aus der Quelle.
In dieser Kurzanleitung wird die Bereitstellung aus der Quelle verwendet. dabei wird der Container erstellt, in Artifact Registry hochgeladen und der Job in Cloud Run bereitgestellt:
gcloud run jobs deploy job-quickstart \ --source . \ --tasks 50 \ --set-env-vars SLEEP_MS=10000 \ --set-env-vars FAIL_RATE=0.1 \ --max-retries 5 \ --region REGION \ --project=PROJECT_ID
Dabei ist PROJECT_ID Ihre Projekt-ID und REGION Ihre Region, z. B. us-central1
. Beachten Sie, dass Sie die verschiedenen Parameter auf die Werte ändern können, die Sie zu Testzwecken verwenden möchten.
SLEEP_MS
simuliert die Arbeit und FAIL_RATE
führt dazu, dass X
% der Aufgaben fehlschlagen, sodass Sie mit Parallelität experimentieren und fehlgeschlagene Aufgaben wiederholen können.
Job in Cloud Run ausführen
So führen Sie den gerade erstellten Job aus:
gcloud run jobs execute job-quickstart --region REGION
Ersetzen Sie REGION durch die Region, die Sie beim Erstellen und Bereitstellen des Jobs verwendet haben, z. B. us-central1
.
Nächste Schritte
Weitere Informationen dazu, wie Sie einen Container aus Quellcode erstellen und diesen mithilfe eines Push-Vorgangs in ein Repository übertragen, finden Sie unter: