Betrieb einer Flotte

Befolgen Sie diese Schritte, um eine Code Engine-Flotte über die CLI oder die Konsole auszuführen.

Vorbereitende Schritte

Um einen Fuhrpark erfolgreich zu betreiben, müssen Sie die Schritte in Vorbereitung des Fuhrparkbetriebs befolgen. Sie haben außerdem die Möglichkeit, Code Engine zu verwenden, um das Image zu erstellen, auf das Sie beim Anlegen Ihrer Flotte verweisen.

Ausführen einer Flotte über die Konsole

Befolgen Sie diese Schritte, um eine Flotte in der Code Engine-Konsole zu betreiben.

  1. Öffnen Sie die Code Engine-Konsole.
  2. Klicken Sie auf Erstellung starten.
  3. Wählen Sie ein Projekt aus der Liste der verfügbaren Projekte aus. Sie können auch ein neues erstellen. Sie müssen ein Projekt ausgewählt haben, um eine Flotte zu betreiben.
  4. Wählen Sie die Option zum Erstellen einer Flotte.
  5. Geben Sie einen Namen für die Flotte an. Stellen Sie sicher, dass der Name für alle Flotten innerhalb des Projekts eindeutig ist.
  6. Geben Sie ein Container-Image für Ihre Flotte an, z. B. icr.io/codeengine/helloworld. Wenn Sie über eigenen Quellcode verfügen, den Sie in ein Container-Image umwandeln möchten, lesen Sie den Abschnitt Planung Ihres Builds. Weitere Informationen zum Code, der in diesem Beispiel verwendet wird, finden Sie unter helloworld.
  7. Folgen Sie den Anweisungen, um Ihre Flotte zu konfigurieren. Weitere Informationen zur Bedeutung von Skalierungsparametern finden Sie unter Konfigurieren der Flottenskalierung.
  8. Geben Sie im Abschnitt Aufgaben an, ob Anfangsaufgaben für die Flotte hinzugefügt werden sollen oder nicht. Weitere Informationen finden Sie unter Aufgabenspezifikation.
  9. Im Abschnitt Ressourcen und Skalierung konfigurieren Sie Ihre Instanzressourcen und legen fest, wie Ihre Instanzen nach oben oder unten skaliert werden.
  10. Klicken Sie im Abschnitt Netzwerkplatzierung auf Subnetzpools auswählen.
    1. Erstellen Sie einen neuen Subnetz-Pool, um die Netzwerkplatzierung der Arbeiter dieser Flotte festzulegen. Weitere Informationen finden Sie unter Arbeiten mit Subnetzpool-Konnektivität in Code Engine.
    2. Oder wählen Sie einen oder mehrere bestehende Subnetz-Pools aus, um die Netzwerkplatzierung der Mitarbeiter dieser Flotte festzulegen.
    3. Klicken Sie auf Übernehmen, um Ihre Auswahl zu bestätigen.
  11. Fügen Sie in den Abschnitten Umgebungsvariablen und Volume mounts optionale Schlüssel-Wert-Paare, configmaps oder zusätzliche Dateien hinzu, die von Ihrem laufenden Code verwendet werden können.
  12. Klicken Sie auf Erstellen.

Spezifikation der Aufgabe

Sie können eine Flotte mit oder ohne Anfangsaufgaben erstellen und jederzeit Aufgaben hinzufügen.

Aufgaben in der Konsole festlegen

Informationen zum Erstellen einer Flotte ohne Anfangsaufgaben finden Sie unter Erstellen einer Flotte ohne Anfangsaufgaben mithilfe der Konsole. Informationen zum Hinzufügen von Aufgaben nach der Erstellung finden Sie unter Hinzufügen von Aufgaben zu einer Flotte über die Konsole.

Sie können Aufgaben auf eine der folgenden Arten festlegen:

  • Anzahl der Aufgaben: Wählen Sie Anzahl der Aufgaben aus und geben Sie eine beliebige positive ganze Zahl an.
  • Aufgabenindizes: Um einen Aufgabenbereich anzugeben, können Sie eine Reihe von Aufgabenindizes angeben, die eine durch Kommas getrennte Liste von Bereichen und positiven ganzen Zahlen enthält, z. B. 2-5,7-8,10. Wählen Sie die Aufgabenindizes aus und geben Sie die Bereiche ein.
  • Aufgaben aus einer Datei: Um verschiedene Aufgaben mit unterschiedlichen Befehlen oder Argumenten ausführen zu lassen, können Sie eine Aufgabenspezifikationsdatei erstellen, die die Image-Definition überschreibt. Das optionale Feld idx kann verwendet werden, um einen benutzerdefinierten Aufgabenindex anzugeben. Diese Datei muss im JSONL-Format vorliegen. Wählen Sie Aufgaben aus der Datei aus. Laden Sie entweder eine lokale Datei hoch oder geben Sie einen Pfad zu einer Datei unter IBM Cloud Object Storage an. Sehen Sie sich das folgende Beispiel für Zeilen an, die einer Aufgabenspezifikationsdatei hinzugefügt werden können.
    { "cmds": ["my", "multipart", "command"], "args": ["arg1", "arg2"] }
    { "cmds": ["other", "cmd"], "args": ["arg"], "idx": "foo" }
    { "args": ["argA", "argB", "argC"], "idx": "bar" }
    { "cmds": ["just", "another", "command"], "idx": "1234" }
    
  • Aufgaben aus IBM Cloud Object Storage: Aufgaben basierend auf den Objekten in einem persistenten Datenspeicher (Bucket von Object Storage ) festlegen. Jedes Objekt erzeugt eine Aufgabe. Wählen Sie unter Cloud Object Storage die Option Tasks aus und erstellen oder wählen Sie einen persistenten Datenspeicher aus. Geben Sie optional einen Unterpfad an.

Batch-Name (optional): Fügen Sie einen Batch-Namen für alle Aufgaben hinzu, die mit dieser Aktion hinzugefügt wurden. Ein Batch-Name identifiziert und gruppiert zusammengehörige Aufgaben. Batch-Namen müssen nicht eindeutig sein, sodass Sie den ursprünglichen Batch-Namen wiederverwenden können, wenn Sie fehlgeschlagene Aufgaben erneut ausführen. Beispielsweise können Batch-Namen Datumsangaben oder Kundennamen enthalten.

Aufgaben in der CLI festlegen

Informationen zum Erstellen einer Flotte ohne Anfangsaufgaben finden Sie unter Erstellen einer Flotte ohne Anfangsaufgaben mithilfe der CLI. Informationen zum Hinzufügen von Aufgaben nach der Erstellung finden Sie unter Hinzufügen von Aufgaben zu einer bestehenden Flotte mithilfe der CLI. Informationen zum Erstellen einer Flotte mit Anfangsaufgaben finden Sie unter Erstellen einer Flotte mit Anfangsaufgaben mithilfe der CLI.

Sie können Aufgaben auf eine der folgenden Weisen festlegen.

  • Anzahl der Aufgaben: Geben Sie eine beliebige positive ganze Zahl an. Verwenden Sie die Option --tasks, um die Anzahl der Aufgaben anzugeben, die Sie ausführen möchten. Um eine Flotte ohne Aufgaben zu erstellen, lassen Sie die Option --tasks weg.
  • Aufgabenindizes: Um einen Bereich von Aufgaben anzugeben, können Sie einen Aufgabenindex angeben, der eine durch Kommas getrennte Liste von Bereichen und positiven ganzen Zahlen enthält, z. B. 2-5,7-8,10. Verwenden Sie die Option --task-indexes.
  • Aufgaben aus einer Datei: Um verschiedene Aufgaben mit unterschiedlichen Befehlen oder Argumenten ausführen zu lassen, können Sie eine Aufgabenspezifikationsdatei erstellen, die die Image-Definition überschreibt. Das optionale Feld idx kann verwendet werden, um einen benutzerdefinierten Aufgabenindex anzugeben. Diese Datei muss im JSONL-Format vorliegen. Geben Sie die Datei mit der Option --tasks-from-cos-object oder --tasks-from-local-file an. Sehen Sie sich das folgende Beispiel für Zeilen an, die einer Aufgabenspezifikationsdatei hinzugefügt werden können.
    { "cmds": ["my", "multipart", "command"], "args": ["arg1", "arg2"] }
    { "cmds": ["other", "cmd"], "args": ["arg"], "idx": "foo" }
    { "args": ["argA", "argB", "argC"], "idx": "bar" }
    { "cmds": ["just", "another", "command"], "idx": "1234" }
    
  • Aufgaben aus IBM Cloud Object Storage: Aufgaben basierend auf den Objekten in einem persistenten Datenspeicher (Bucket von Object Storage ) festlegen. Jedes Objekt erzeugt eine Aufgabe. Verwenden Sie die Option --tasks-from-cos-bucket, um einen Object Storage-Bucket und einen optionalen Unterpfad anzugeben.

Erstellen einer Flotte ohne anfängliche Aufgaben mithilfe der Konsole

Sie können eine Flotte erstellen, ohne Aufgaben anzugeben. Wenn der Wert für Minimum container slots oder Spare container slots ungleich Null ist, werden Worker sofort bereitgestellt. Andernfalls werden erst dann Worker erstellt, wenn die ersten Aufgaben hinzugefügt werden.

Verwenden Sie diesen Ansatz, wenn es sich bei der Flotte um eine gemeinsam genutzte, langlebige Ressource handelt, die Aufgaben aus mehreren Quellen oder nach einem Zeitplan erhält.

Um eine Flotte ohne Anfangsaufgaben zu erstellen, befolgen Sie die Schritte unter Eine Flotte über die Konsole ausführen. Setzen Sie in Schritt 8 die Option Anfängliche Aufgaben festlegen auf Nein.

Eine Flotte kopieren, um eine neue Flotte zu erstellen

Sie können eine neue Flotte erstellen, indem Sie die Konfiguration einer bestehenden Flotte über die Code Engine-Konsole kopieren. Die Funktion Create Copy kopiert alle Konfigurationseinstellungen der Quellflotte – einschließlich der Container-Image-Referenz, der Ressourcenzuweisung, der Umgebungsvariablen und der Skalierungseinstellungen – in eine neue Flotte, die Sie anschließend eigenständig anpassen können. Aufgaben werden nicht kopiert.

Die neue Flotte verhält sich wie eine eigenständige Workload. Die Quellflotte ist von Änderungen an der neuen Flotte nicht betroffen und umgekehrt.

Bevor Sie beginnen, stellen Sie sicher, dass in Ihrem Projekt bereits eine bestehende Flotte angelegt wurde.

  1. Rufen Sie die Seite Code Engine-Projekte auf.
  2. Klicken Sie auf den Namen Ihres Projekts, um die Übersichtsseite zu öffnen.
  3. Klicken Sie auf Flotten, um eine Liste Ihrer Flotten zu öffnen.
  4. Öffnen Sie die Option Kopie erstellen auf eine der folgenden Arten:
    • Klicken Sie auf den Namen der Flotte, die Sie kopieren möchten, um deren Flottenseite zu öffnen. Klicken Sie anschließend auf das Menü Aktionen in der oberen rechten Ecke der Seite und wählen Sie Kopie erstellen aus.
    • Klicken Sie in der Flottenliste auf das Symbol für Zeilenaktionen (⋮) der Flotte, die Sie kopieren möchten, und wählen Sie Kopie erstellen aus.
  5. Auf der Seite Flotte erstellen ist die Konfiguration der Quellflotte bereits vorausgefüllt. Geben Sie einen eindeutigen Namen für die neue Flotte ein. Verwenden Sie einen Namen, der innerhalb des Projekts eindeutig ist.
  6. Überprüfen Sie alle Konfigurationseinstellungen für die neue Flotte, wie z. B. das Container-Image, die Ressourcenzuweisung, Umgebungsvariablen oder Skalierungseinstellungen, und passen Sie diese gegebenenfalls an.
  7. Klicken Sie auf Erstellen, um die neue Flotte anzulegen.

Hinzufügen von Aufgaben zu einer Flotte mithilfe der Konsole

Sie können einer Flotte jederzeit Aufgaben hinzufügen – unabhängig davon, ob sich die Flotte im Status Ausstehend, Wird ausgeführt oder Standby befindet –, indem Sie die Schaltfläche Aufgaben hinzufügen verwenden.

Code Engine erstellt asynchron die Aufgabendatensätze und stellt bei Bedarf zusätzliche Worker bereit.

Befolgen Sie diese Schritte, um einer bestehenden Flotte in der Code Engine-Konsole Aufgaben hinzuzufügen.

  1. Rufen Sie die Seite Code Engine-Projekte auf.
  2. Klicken Sie auf den Namen Ihres Projekts, um die Übersichtsseite zu öffnen.
  3. Klicken Sie auf Flotten, um eine Liste Ihrer Flotten zu öffnen. Klicken Sie auf den Namen Ihrer Flotte, um die Detailseite zu öffnen.
  4. Klicken Sie auf Aufgaben hinzufügen.
  5. Geben Sie eine Reihe von Aufgaben an, die der Flotte hinzugefügt werden sollen. Siehe auch Aufgabenspezifikation.
  6. Fügen Sie optional einen aussagekräftigen Batch-Namen hinzu.
  7. Klicken Sie auf Hinzufügen.

Erstellen einer Flotte ohne anfängliche Aufgaben mithilfe der CLI

Verwenden Sie den folgenden Beispielbefehl, um eine Flotte ohne eine erste Aufgabe auszuführen. Dieser Befehl erlaubt zusätzliche Optionen. Eine vollständige Liste aller verfügbaren Befehlsoptionen finden Sie in der CLI-Referenz.

ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore
--name
Der Name des Fleets. Dieser Wert muss für alle Fuhrparks innerhalb desselben Projekts eindeutig sein. Wenn kein Flottenname angegeben wird, wird ein zufälliger Name generiert.
--image
Der Verweis auf das Container-Image, das zur Verarbeitung der Aufgaben verwendet wird. Dieser Wert ist erforderlich.
--subnetpool-name oder --subnetpool-id
Der Name des Subnetzpools, der für die Platzierung des Flottennetzwerks verwendet werden soll.
Die ID des Subnetzpools, der für die Netzwerkplatzierung der Flotte verwendet werden soll.

Sie müssen entweder --subnetpool-name oder angeben --subnetpool-id.

--tasks-state-store
Geben Sie den persistenten Datenspeicher an, der den Status der Tasks der Flotte speichert. Dieser Wert ist erforderlich.

Beispielausgabe:

Successfully created fleet with name 'my-fleet' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
OK

Hinzufügen von Aufgaben zu einer bestehenden Flotte mithilfe der CLI

Verwenden Sie den folgenden Beispielbefehl, um einer bestehenden Flotte Aufgaben hinzuzufügen. Dieser Befehl erlaubt zusätzliche Optionen. Eine vollständige Liste aller verfügbaren Befehlsoptionen finden Sie in der CLI-Referenz.

Alternativ können Sie den Befehl ibmcloud ce fleet task create verwenden.

Beispiel

ibmcloud ce fleet task add --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e --tasks 1 --batch-name transactions-2026-09-04

Beispielausgabe

Successfully added tasks to fleet with name 'fleet-0123456789' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
Run 'ibmcloud ce fleet task list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of tasks.
OK
--fleet-id
Die UUID der Flotte, zu der die Task gehört. Dieser Wert ist erforderlich.
--tasks
Geben Sie die Anzahl der Tasks an, die von der Flotte verarbeitet werden sollen. Dieser Wert ist erforderlich.
--batch-name
Der Batch-Name, der für alle im aktuellen Aufruf hinzugefügten Aufgaben verwendet wird. Damit lassen sich verwandte Aufgaben identifizieren und gruppieren. Batch-Namen müssen nicht eindeutig sein, sodass Sie den ursprünglichen Batch-Namen wiederverwenden können, wenn Sie fehlgeschlagene Aufgaben erneut ausführen. Beispielsweise können Batch-Namen Datumsangaben oder Kundennamen enthalten.
Dieser Wert ist optional. Sofern nicht anders angegeben, default wird der Batch-Name verwendet.

Erstellen einer Flotte mit Anfangsaufgaben mithilfe der CLI

Verwenden Sie den folgenden Beispielbefehl, um eine Flotte mit Anfangsaufgaben auszuführen. Dieser Befehl erlaubt zusätzliche Optionen. Eine vollständige Liste aller verfügbaren Befehlsoptionen finden Sie in der CLI-Referenz.

Wenn alle verfügbaren Aufgaben bearbeitet sind, wechselt die Flotte in den Standby-Zustand. Worker, die für die Bereitstellung der Mindestanzahl an Container-Slots nicht mehr benötigt werden, werden heruntergefahren, bis neue Aufgaben hinzugefügt werden.

ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore --tasks 1
--name
Der Name des Fleets. Dieser Wert muss für alle Fuhrparks innerhalb desselben Projekts eindeutig sein. Wenn kein Flottenname angegeben wird, wird ein zufälliger Name generiert.
--image
Der Verweis auf das Container-Image, das zur Verarbeitung der Aufgaben verwendet wird. Dieser Wert ist erforderlich.
--subnetpool-name oder --subnetpool-id
Der Name des Subnetzpools, der für die Platzierung des Flottennetzwerks verwendet werden soll.
Die ID des Subnetzpools, der für die Netzwerkplatzierung der Flotte verwendet werden soll.

Sie müssen entweder --subnetpool-name oder angeben --subnetpool-id.

--tasks-state-store
Geben Sie den persistenten Datenspeicher an, der den Status der Tasks der Flotte speichert. Dieser Wert ist erforderlich.
--tasks
Die Anzahl der auszuführenden Aufgaben.

Beispielausgabe:

Successfully created fleet with name 'my-fleet' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
Run 'ibmcloud ce fleet task list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of tasks.
OK