Gestion d'une flotte

Procédez comme suit pour lancer une flotte à l'aide de l'interface CLI ou de la console. Notez que les flottes s'exécutent dès qu'elles sont créées, de sorte que running et creating sont la même opération.

Avant de commencer

Pour gérer une flotte avec succès, assurez-vous d'avoir suivi les étapes de la section Préparer la gestion de votre flotte. Vous avez également la possibilité d'utiliser Code Engine pour construire l'image à laquelle vous faites référence lorsque vous créez votre flotte.

Exécution d'une flotte à l'aide de l'interface de programmation (CLI)

Utilisez l'exemple de commande suivant pour lancer une flotte. Cette commande permet d'ajouter des options supplémentaires. Pour une liste complète de toutes les options de commande disponibles, voir la documentation de l'interface de programmation.

ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore --tasks 1
--name
Nom de la flotte. Cette valeur doit être unique pour toutes les flottes d'un même projet. Si aucun nom de flotte n'est spécifié, un nom aléatoire est généré.
--image
Nom de l'image de conteneur utilisée pour traiter les tâches. Cette valeur est obligatoire.
--subnetpool-name
Le nom du pool de sous-réseaux à utiliser pour le placement du réseau de la flotte.
--tasks-state-store
Indiquer le magasin de données permanentes qui stocke l'état des tâches de la flotte. Cette valeur est obligatoire.
--tasks
Le nombre de tâches à exécuter.

Exemple de sortie.

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

Exécution d'une flotte à l'aide de la console

Suivez les étapes suivantes pour lancer une flotte dans la console Code Engine.

  1. Ouvrez la Code Engine console.
  2. Cliquez sur Commencer la création.
  3. Sélectionnez un projet dans la liste des projets disponibles. Vous pouvez aussi en créer un. Vous devez avoir sélectionné un projet pour gérer une flotte.
  4. Sélectionnez l'option permettant de créer une flotte.
  5. Indiquez un nom pour la flotte. Veillez à ce que le nom soit unique pour toutes les flottes du projet.
  6. Spécifiez une image de conteneur pour votre flotte, par exemple, icr.io/codeengine/helloworld. Si vous avez votre propre code source que vous voulez transformer en image de conteneur, voir Planification de la construction. Pour plus d'informations sur le code utilisé dans cet exemple, consultez helloworld.
  7. Suivez les instructions pour configurer votre flotte.
  8. Dans la section Tâches, configurez la méthode de spécification des tâches pour la flotte. Pour plus d'informations, voir Spécification des tâches.
  9. Dans la section Ressources et mise à l'échelle, configurez vos ressources d'instance et spécifiez comment vos instances sont mises à l'échelle.
  10. Dans la section Placement du réseau, cliquez sur Sélectionner les pools de sous-réseaux.
    1. Créez un nouveau pool de sous-réseaux pour spécifier l'emplacement du réseau des travailleurs de cette flotte. Voir Travailler avec la connectivité du pool de sous-réseaux dans Code Engine pour plus d'informations.
    2. Ou sélectionnez un ou plusieurs pools de sous-réseaux existants pour spécifier l'emplacement du réseau des travailleurs de cette flotte.
    3. Cliquez sur « Appliquer » pour valider votre sélection.
  11. Dans les sections Variables d'environnement et Montages de volumes, ajoutez des paires clé-valeur facultatives, des cartes de configuration ou des fichiers supplémentaires qui peuvent être utilisés par votre code d'exécution.
  12. Cliquez sur Créer.

Spécification des tâches

Les flottes ont toujours au moins une tâche, mais elles peuvent en avoir beaucoup plus. Vous pouvez spécifier le nombre de tâches à accomplir, le nombre d'instances de tâches à exécuter en même temps et l'ordre dans lequel les tâches sont accomplies. Lorsque vous exécutez votre flotte, les nœuds de travail augmentent automatiquement en fonction du nombre de tâches à accomplir.

Vous pouvez définir des tâches de différentes manières :

  • Nombre de tâches: Pour exécuter un nombre spécifique de tâches, vous pouvez spécifier n'importe quel nombre entier positif. Dans le CLI, utilisez l'option --tasks. Dans l'interface utilisateur, sélectionnez Nombre de tâches et saisissez le numéro que vous souhaitez exécuter.
  • Index des tâches: Pour spécifier une plage de tâches, vous pouvez spécifier un index de tâches qui comprend une liste de plages séparées par des virgules et des nombres entiers positifs, tels que 2-5,7-8,10. Dans le CLI, utilisez l'option --task-indexes. Dans l'interface utilisateur, sélectionnez Index des tâches et saisissez la plage.
  • Fichier de tâches: Pour que des tâches différentes soient exécutées avec des commandes ou des arguments différents, vous pouvez créer un fichier de spécification de tâche qui remplace la définition de l'image. Le champ facultatif idx peut être utilisé pour spécifier un index de tâche personnalisé. Ce fichier doit être au format JSONL. Dans le CLI, spécifiez le fichier avec l'option --tasks-from-local-file ou --tasks-from-cos-object. Dans l'interface utilisateur, sélectionnez Tâches à partir d'un fichier et indiquez le nom du fichier. Vous trouverez ci-dessous un exemple de lignes pouvant être ajoutées à un fichier de spécification de tâche.

Exemple de lignes dans un fichier de spécification de tâches.

{ "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" }

Suppression d'une flotte à l'aide de l'interface de ligne de commande (CLI)

Une flotte n'est pas supprimée automatiquement lorsqu'elle atteint son état final. Comme il y a une limite de quota de 1000 flottes par projet (voir Quotas de projet ), supprimez la flotte à l'aide du CLI lorsque vous n'en avez plus besoin.

Utilisez l'exemple de commande suivant pour supprimer une flotte. Cette commande permet d'ajouter des options supplémentaires. Pour une liste complète de toutes les options de commande disponibles, voir la documentation de l'interface de programmation.

ibmcloud ce fleet delete --force --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e

Suppression d'une flotte à l'aide de la console

Une flotte n'est pas supprimée automatiquement lorsqu'elle atteint son état final. Comme il y a une limite de quota de 1000 flottes par projet (voir Quotas de projet ), supprimez la flotte à l'aide du CLI lorsque vous n'en avez plus besoin.

Procédez comme suit pour supprimer une flotte dans la console.

  1. Accéder à la page « Flottes » :
    1. Sélectionnez votre projet dans la page Projets de la console Code Engine.
    2. Cliquez sur Flottes pour afficher la liste des flottes existantes.
  2. Accédez à la ligne contenant la flotte que vous souhaitez supprimer et cliquez sur l'icône de suppression (corbeille).
  3. Confirmez la suppression lorsque vous y êtes invité.