Betrieb einer Flotte
Führen Sie die folgenden Schritte aus, um eine Flotte über die CLI oder die Konsole auszuführen. Beachten Sie, dass Flotten sofort nach ihrer Erstellung ausgeführt werden, so dass running eine Flotte und creating eine
Flotte derselbe Vorgang sind.
Vorbereitende Schritte
Um einen Fuhrpark erfolgreich zu betreiben, müssen Sie die Schritte in Vorbereitung des Fuhrparkbetriebs befolgen. Sie haben auch die Möglichkeit, Code Engine zu verwenden, um das Bild zu erstellen, auf das Sie sich bei der Erstellung Ihrer Flotte beziehen.
Ausführen einer Flotte mit Hilfe der CLI
Verwenden Sie den folgenden Beispielbefehl, um eine Flotte zu starten. Dieser Befehl erlaubt zusätzliche Optionen. Eine vollständige Liste aller verfügbaren Befehlsoptionen finden Sie in den CLI-Dokumenten.
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 Name des Container-Images, das zur Verarbeitung der Aufgaben verwendet wird. Dieser Wert ist erforderlich.
--subnetpool-name- Der Name des Subnetz-Pools, der für die Platzierung des Flottennetzes verwendet werden soll.
--tasks-state-store- Geben Sie den dauerhaften Datenspeicher an, der den Status der Aufgaben der Flotte speichert. Dieser Wert ist erforderlich.
--tasks- Die Anzahl der auszuführenden Aufgaben.
Beispielhafte Ausgabe.
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
Ausführen einer Flotte über die Konsole
Gehen Sie folgendermaßen vor, um eine Flotte in der Konsole Code Engine auszuführen.
- Öffnen Sie die Code Engine konsole.
- Klicken Sie auf Erstellung starten.
- 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.
- Wählen Sie die Option zum Erstellen einer Flotte.
- Geben Sie einen Namen für die Flotte an. Stellen Sie sicher, dass der Name für alle Flotten innerhalb des Projekts eindeutig ist.
- Geben Sie ein Container-Image für Ihre Flotte an, z. B.
icr.io/codeengine/helloworld. Wenn Sie Ihren eigenen Quellcode haben, 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“. - Folgen Sie den Anweisungen, um Ihre Flotte zu konfigurieren.
- Konfigurieren Sie im Abschnitt Aufgaben die Methode der Aufgabenspezifikation für die Flotte. Weitere Informationen finden Sie unter Aufgabenspezifikation.
- Im Abschnitt Ressourcen und Skalierung konfigurieren Sie Ihre Instanzressourcen und legen fest, wie Ihre Instanzen nach oben oder unten skaliert werden.
- Klicken Sie im Abschnitt Netzwerkplatzierung auf Subnetzpools auswählen.
- 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.
- Oder wählen Sie einen oder mehrere bestehende Subnetz-Pools aus, um die Netzwerkplatzierung der Mitarbeiter dieser Flotte festzulegen.
- Klicken Sie auf „Übernehmen“, um Ihre Auswahl zu bestätigen.
- 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.
- Klicken Sie auf 'Erstellen'.
Spezifikation der Aufgabe
Flotten haben immer mindestens eine Aufgabe, können aber auch eine viel größere Anzahl haben. Sie können die Anzahl der zu erledigenden Aufgaben, die Anzahl der gleichzeitig auszuführenden Aufgabeninstanzen und die Reihenfolge, in der die Aufgaben erledigt werden, festlegen. Wenn Sie Ihre Flotte betreiben, werden die Arbeitsknoten automatisch entsprechend der Anzahl der zu erledigenden Aufgaben hochgefahren.
Sie können Aufgaben auf folgende Weise festlegen:
- Anzahl der Aufgaben: Um eine bestimmte Anzahl von Aufgaben auszuführen, können Sie eine beliebige positive ganze Zahl angeben. Verwenden Sie in der CLI die Option
--tasks. Wählen Sie in der Benutzeroberfläche die Option Anzahl der Aufgaben und geben Sie die gewünschte Anzahl ein. - Aufgabenindex: Um einen Bereich von Aufgaben anzugeben, können Sie einen Aufgabenindex angeben, der eine durch Komma getrennte Liste von Bereichen und positiven ganzen Zahlen enthält, wie z. B.
2-5,7-8,10. Verwenden Sie in der CLI die Option--task-indexes. Wählen Sie in der Benutzeroberfläche Task-Indizes und geben Sie den Bereich ein. - Aufgaben-Datei: Wenn Sie verschiedene Aufgaben mit unterschiedlichen Befehlen oder Argumenten ausführen lassen möchten, können Sie eine Aufgabenspezifikationsdatei erstellen, die die Bilddefinition außer Kraft setzt. Das optionale
Feld
idxkann verwendet werden, um einen benutzerdefinierten Aufgabenindex anzugeben. Diese Datei muss im JSONL-Format vorliegen. In der CLI geben Sie die Datei mit der Option--tasks-from-local-fileoder--tasks-from-cos-objectan. Wählen Sie in der Benutzeroberfläche Aufgaben aus Datei und geben Sie den Dateinamen an. Nachstehend finden Sie ein Beispiel für Zeilen, die einer Aufgabenspezifikationsdatei hinzugefügt werden können.
Beispielzeilen in einer Aufgabenspezifikationsdatei.
{ "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" }
Eine Flotte über die CLI löschen
Eine Flotte wird nicht automatisch gelöscht, wenn sie ihren Endzustand erreicht hat. Da es eine Kontingentgrenze von 1000 Flotten pro Projekt gibt (siehe Projektkontingente ), löschen Sie die Flotte über die CLI, wenn Sie sie nicht mehr benötigen.
Verwenden Sie den folgenden Beispielbefehl, um eine Flotte zu löschen. Dieser Befehl erlaubt zusätzliche Optionen. Eine vollständige Liste aller verfügbaren Befehlsoptionen finden Sie in den CLI-Dokumenten.
ibmcloud ce fleet delete --force --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e
Löschen einer Flotte über die Konsole
Eine Flotte wird nicht automatisch gelöscht, wenn sie ihren Endzustand erreicht hat. Da es eine Kontingentgrenze von 1000 Flotten pro Projekt gibt (siehe Projektkontingente ), löschen Sie die Flotte über die CLI, wenn Sie sie nicht mehr benötigen.
Gehen Sie folgendermaßen vor, um eine Flotte in der Konsole zu löschen.
- Zur Seite „Flotten“ wechseln:
- Wählen Sie Ihr Projekt auf der Seite Projekte in der Konsole Code Engine aus.
- Klicken Sie auf Flotten, um eine Liste der vorhandenen Flotten anzuzeigen.
- Gehen Sie zu der Zeile mit der Flotte, die Sie entfernen möchten, und klicken Sie auf das Symbol für Löschen (Mülleimer).
- Bestätigen Sie die Löschung, wenn Sie dazu aufgefordert werden.