Job aus Images in einer öffentlichen Registry erstellen
Wenn Sie einen Job erstellen, können Sie Informationen für die Workloadkonfiguration angeben, die bei jeder Ausführung des Jobs verwendet werden. Sie können den Job in der Konsole oder in der Befehlszeilenschnittstelle erstellen.
Job in der Konsole erstellen
Erstellen Sie einen Code Engine-Job mithilfe des icr.io/codeengine/helloworld-Image. Dieser Job druckt Hello from helloworld! I'm a task job!.
- Öffnen Sie Code Engine.
- Wählen Sie „ Mit der Erstellung beginnen “.
- Wählen Sie ein Projekt aus der Liste der verfügbaren Projekte aus. Sie können auch ein neues erstellen. Bitte beachten Sie, dass Sie über ein ausgewähltes Projekt verfügen müssen, um einen Job erstellen zu können.
- Wählen Sie Job aus.
- Geben Sie einen Namen für den Job ein. Beispiel:
myjob. - Geben Sie ein Container-Image für Ihren Job an, z. B.
icr.io/codeengine/helloworld. Wenn Sie über eigenen Quellcode verfügen, aus dem Sie ein Container-Image für den Job erstellen möchten, finden Sie Informationen hierzu unter Container-Image erstellen. Weitere Informationen zu dem Code, der für das vorliegende Beispiel verwendet wird, finden Sie unterhelloworld. - Ändern Sie die Standardwerte für Umgebungsvariablen oder Laufzeiteinstellungen. Weitere Informationen zu diesen Optionen finden Sie unter Optionen für Erstellung und Ausführung von Jobs.
- Klicken Sie auf Erstellen.
- Wenn sich Ihr Job auf Ihrer Jobseite im Status
readybefindet, klicken Sie auf Job übergeben, um einen Job basierend auf der aktuellen Konfiguration zu übergeben. - Akzeptieren Sie im Teilfenster "Job übergeben" alle Standardwerte und klicken Sie erneut auf Job übergeben, um Ihren Job auszuführen.
Im Bereich „Auftrag übermitteln“ können Sie die Standardkonfigurationswerte wie Instanzen, CPU, Arbeitsspeicher, Anzahl der Wiederholungsversuche und Zeitlimit für den Auftrag überprüfen und gegebenenfalls ändern. Sie können entweder die Array-Größe oder Array-Indizes für die auszuführenden parallelen Auftragsinstanzen angeben. Geben Sie unter „Array-Größe“ die Anzahl der Instanzen an, die für diesen Auftrag parallel ausgeführt werden sollen. Geben Sie
für Array-Indizes eine durch Kommas getrennte Liste Ihrer benutzerdefinierten Indizes an. Um diesen Job beispielsweise mit einem benutzerdefinierten Satz von „ 5 “-Indizes auszuführen, geben Sie „ 3,12-14,25 “ an. Sie können auch einen angepassten Wert für die Job-Array-Größe angeben, der den Wert der automatisch injizierten Umgebungsvariablen JOB_ARRAY_SIZE aktualisiert. Nachdem Sie diesen Job übergeben haben, zeigt das System den Status der Instanzen Ihres Jobs auf der Seite Jobdetails an. Wenn Sie im Bereich „Auftrag übermitteln“ unter „ Configuration “ auf der Seite „Auftragsdetails“
anstelle der Array-Indizes die Array-Größe angeben, werden diese Informationen als Array-Indizes angezeigt.
Auf der Seite 'Jobstatus' finden Sie Details über Ihre Jobausführung.
Job in Befehlszeilenschnittstelle erstellen
Mit dem Befehl job create können Sie eine Jobkonfiguration in der Befehlszeilenschnittstelle erstellen. Für diesen Befehl sind ein Name und ein Image erforderlich, weitere optionale Argumente sind möglich. Eine
umfassende Liste der Optionen finden Sie im Abschnitt über den Befehl ibmcloud ce job create.
Vorbereitende Schritte
- Konfigurieren Sie die Umgebung der Code Engine-Befehlszeilenschnittstelle.
- Erstellen Sie ein Projekt und arbeiten Sie damit.
Der folgende job create-Befehl erstellt eine Jobkonfiguration namens myjob und verwendet das Container-Image icr.io/codeengine/firstjob.
ibmcloud ce job create --name myjob --image icr.io/codeengine/firstjob
Beispielausgabe
Creating job 'myjob'...
OK
Die folgende Tabelle vermittelt Ihnen einen Überblick über die Optionen, die in diesem Beispiel beim Befehl job create verwendet werden. Weitere Informationen zum Befehl und den zugehörigen Optionen finden Sie im
Abschnitt über den Befehl ibmcloud ce job create.
| Option | Beschreibung |
|---|---|
--image |
Der Name des Images, das für Ausführungen dieses Jobs wird. Dieser Wert ist erforderlich. Das Format ist REGISTRY/NAMESPACE/REPOSITORY:TAG. Dabei sind REGISTRY und TAG optional. Wird TAG nicht angegeben, ist latest der Standardwert. Für Bilder im „ Docker Hub“ können Sie die Bild-URL mit „ NAMESPACE/REPOSITORY “ angeben,
da die Standardeinstellung für „ REGISTRY “ „ docker.io “ lautet. Verwenden Sie für andere Registrys REGISTRY/NAMESPACE/REPOSITORY oder REGISTRY/NAMESPACE/REPOSITORY:TAG. |
--name |
Der Name des Jobs. Verwenden Sie einen Namen, der innerhalb des Projekts eindeutig ist. Dieser Wert ist erforderlich.
|
Nächste Schritte
-
Nachdem Sie Ihren Job erstellt haben, übergeben Sie ihn zwecks Ausführung. Weitere Informationen finden Sie unter Job ausführen. Sie können Ihren Job mehrmals ausführen.
-
Wenn Sie Details zu Ihrem Job und zu Jobausführungen anzeigen möchten, nachdem Sie Ihren Job ausgeführt haben, finden Sie weitere Informationen unter Auf Jobdetails zugreifen.
-
Nachdem Ihr Job erstellt wurde, sollten Sie erwägen, Ihre Jobs ereignisgesteuert zu konfigurieren. Mithilfe von Ereignissubskriptionen können Sie Ihre Jobs mittels periodischer Zeitpläne auslösen oder Ihren Job so einstellen, dass er auf Ereignisse wie Dateiuploads reagiert.
-
Sie können Ihren Job aktualisieren und den zugehörigen referenzierten Code in irgendeiner der folgenden Arten verwenden, unabhängig davon, wie Sie Ihren Job erstellt oder zuvor aktualisiert haben.
-
Wenn Sie über ein Container-Image gemäß dem Standard der Open Container Initiative(OCI) verfügen, müssen Sie beim Erstellen (oder Aktualisieren) Ihres Jobs lediglich einen Verweis auf das Image angeben, der auf den Speicherort Ihrer Container-Registry verweist. Sie können Ihren Job anhand von Images aus einem öffentlichen oder privaten Registry erstellen (oder aktualisieren) und anschließend während der Ausführung Ihres Jobs auf das referenzierte Image zugreifen.
Wenn Sie Ihren Job mit dem Befehl
job createerstellt und die Option--build-sourceangegeben haben, um das Container-Image aus der lokalen Quelle oder der Repository-Quelle zu erstellen, und Sie Ihren Job so ändern möchten, dass er auf ein anderes Container-Image verweist, müssen Sie zuerst die Zuordnung des Builds aus Ihrem Job entfernen. Führen Sie beispielsweiseibmcloud ce job update -n JOB_NAME --build-clearaus. Nachdem Sie die Zuordnung des Builds zu Ihrem Job entfernt haben, können Sie den Job aktualisieren, sodass er auf ein anderes Image verweist. -
Wenn Sie mit Quellcode beginnen, der sich in einem Git-Repository befindet, können Sie Code Engine überlassen, das Image aus Ihrer Quelle zu erstellen und den Job mit einer einzelnen Operation zu erstellen (oder zu aktualisieren). In diesem Szenario lädt Code Engine Ihr Image in IBM Cloud® Container Registry hoch. Weitere Informationen finden Sie unter Job aus Repository-Quellcode erstellen. Wenn Sie mehr Kontrolle über die Erstellung Ihres Image haben möchten, können Sie das Image mit Code Engine generieren, bevor Sie Ihren Job erstellen (oder aktualisieren) und ausführen.
-
Wenn Sie mit Quellcode beginnen, der sich auf einer lokalen Workstation befindet, können Sie Code Engine das Image aus Ihrer Quelle generieren und den Job mit einem einzelnen CLI-Befehl erstellen lassen. In diesem Szenario lädt Code Engine Ihr Image in IBM Cloud® Container Registry hoch. Weitere Informationen finden Sie unter Job aus lokalem Quellcode über die Befehlszeilenschnittstelle erstellen. Wenn Sie mehr Kontrolle über die Erstellung Ihres Image haben möchten, können Sie das Image mit Code Engine generieren, bevor Sie Ihren Job erstellen (oder aktualisieren) und ausführen.
Sie können beispielsweise festlegen, dass Code Engine den Build Ihrer lokalen Quelle bearbeiten soll, wenn Sie die Entwicklung Ihrer Quelle für den Job weiterentwickeln. Nachdem das Image fertiggestellt wurde, können Sie den Job aktualisieren, um auf das gewünschte Image zu verweisen. Sie können diesen Prozess nach Bedarf wiederholen.
Wenn Sie Ihren aktualisierten Job ausführen, wird die neueste Version Ihres referenzierten Container-Image für die Jobausführung verwendet, sofern kein Tag für das Image angegeben ist. Wenn ein Tag für das Image angegeben wird, wird das mit Tags versehene Image für die Jobausführung verwendet.
-
Benötigen Sie weitere Codebeispiele? Schaut euch die Beispiele im Repository „ IBM Cloud Code Engine “ unter GitHub an.