Configuration de la mise à l'échelle de la flotte
Lorsque vous créez une flotte, utilisez les paramètres de mise à l'échelle pour contrôler le nombre de travailleurs déployés par votre flotte Code Engine et la manière dont celle-ci réagit aux variations de la charge de travail.
Tous les paramètres de mise à l'échelle sont facultatifs et peuvent être définis lors de la création d'une flotte.
Paramètres de mise à l'échelle dans l'interface CLI d' Code Engine
Pour créer une flotte, utilisez la commande ibmcloud ce fleet create ou ibmcloud ce fleet run. Les options suivantes sont disponibles pour la mise à l'échelle de la flotte. Pour obtenir la liste complète de toutes les
options de commande disponibles, consultez le guide de référence de l'interface en ligne de commande(CLI).
--scale-max-
Limite supérieure du nombre total d’emplacements de tâches simultanés sur l’ensemble des travailleurs. Les nœuds de travail s'adaptent pour prendre en charge au maximum ce nombre de tâches simultanées. Par défaut :
10. --scale-min-
Nombre minimum d'emplacements de tâches simultanées qui sont toujours provisionnés, même en l'absence de tâches en attente ou en cours d'exécution. Les nœuds fournissant cette capacité restent actifs et ne sont jamais réduits automatiquement.
Une flotte dont les nœuds sont actifs en raison de ce paramètre, mais qui ne comporte aucune tâche en attente ou en cours d'exécution, présente le statut Standby.
Doit être inférieur ou égal à
--scale-max. Par défaut :0. --scale-spare-
Nombre d'emplacements de tâches simultanées disponibles maintenu au-dessus du nombre actuel de tâches en cours d'exécution. Lorsque tous les travailleurs sont occupés, la flotte met à disposition des travailleurs supplémentaires afin de rétablir la réserve de secours — jusqu'à
--scale-max. Les nouvelles tâches qui arrivent alors qu'il existe une capacité disponible sont lancées immédiatement, sans attendre l'arrivée d'un nouveau travailleur.Doit être inférieur ou égal à
--scale-max. Par défaut :0. --scale-down-delay-
Spécifie la durée pendant laquelle un worker continue de fonctionner après avoir terminé sa dernière tâche avant qu' Code Engine 'ne réduise sa capacité. Un travailleur dont la dernière tâche a été achevée dans la fenêtre de délai prend en charge immédiatement les nouvelles tâches dès leur arrivée.
Indiquez un nombre entier positif correspondant au nombre de secondes. Par défaut
0, le nombre de workers diminue dès qu'ils ne sont plus nécessaires.
Paramètres de mise à l'échelle dans la console d' Code Engine
- Nombre maximal d'emplacements de conteneurs
-
Limite supérieure du nombre total d’emplacements de tâches simultanés sur l’ensemble des travailleurs. Les nœuds de travail s'adaptent pour prendre en charge au maximum ce nombre de tâches simultanées. Par défaut :
10. - Nombre minimum d'emplacements de conteneurs
-
Nombre minimum d'emplacements de tâches simultanées qui sont toujours provisionnés, même en l'absence de tâches en attente ou en cours d'exécution. Les nœuds fournissant cette capacité restent actifs et ne sont jamais réduits automatiquement.
Une flotte dont les nœuds sont actifs en raison de ce paramètre, mais qui ne comporte aucune tâche en attente ou en cours d'exécution, présente le statut Standby.
Doit être inférieur ou égal au nombre maximal d'emplacements de conteneurs. Par défaut :
0. - Emplacements de conteneurs disponibles
-
Nombre d'emplacements de tâches simultanées disponibles maintenu au-dessus du nombre actuel de tâches en cours d'exécution. Lorsque tous les travailleurs sont occupés, la flotte met à disposition des travailleurs supplémentaires afin de reconstituer la réserve de marge — jusqu’à atteindre le nombre maximal d’emplacements de conteneurs. Les nouvelles tâches qui arrivent alors qu'il existe une capacité disponible sont lancées immédiatement, sans attendre l'arrivée d'un nouveau travailleur.
Doit être inférieur ou égal au nombre maximal d'emplacements de conteneurs. Par défaut :
0. - Délai de réduction d'échelle
-
Spécifie la durée pendant laquelle un worker continue de fonctionner après avoir terminé sa dernière tâche avant qu' Code Engine 'ne réduise sa capacité. Un travailleur dont la dernière tâche a été achevée dans la fenêtre de délai prend en charge immédiatement les nouvelles tâches dès leur arrivée.
Précisez le nombre de minutes. Par défaut
0, le nombre de workers diminue dès qu'ils ne sont plus nécessaires.
Modèles de charge de travail et paramètres associés
Le choix des paramètres à utiliser dépend de la manière dont les tâches sont générées, de vos exigences en matière de latence et de la stabilité de la configuration de la flotte.
Charge de travail par lots ponctuelle dans l'interface CLI d' Code Engine
Vous connaissez toutes les tâches à l'avance, vous les définissez lors de la création de la flotte, et celle-ci s'achève lorsque la dernière tâche est terminée. Il s'agit du modèle le plus simple; il ne nécessite aucune configuration particulière
en matière de mise à l'échelle, hormis le réglage --scale-max permettant de contrôler le nombre de tâches exécutées en parallèle. Utilisez cette approche lorsque vous avez besoin d'une configuration de flotte dédiée pour un
lot de tâches.
Option pertinente : --scale-max
Charge de travail par lots ponctuelle dans la console d' Code Engine
Vous connaissez toutes les tâches à l'avance, vous les définissez lors de la création de la flotte, et celle-ci s'achève lorsque la dernière tâche est terminée. Il s'agit du modèle le plus simple; il ne nécessite aucune configuration particulière en matière de mise à l'échelle, hormis le réglage du nombre maximal d'emplacements de conteneurs pour contrôler le nombre de tâches exécutées en parallèle. Utilisez cette approche lorsque vous avez besoin d'une configuration de flotte dédiée pour un lot de tâches.
Paramètre concerné : nombre maximal d'emplacements de conteneurs
Charge de travail par lots planifiée dans l'interface de ligne de commande (CLI) d' Code Engine
Vous gérez un parc et ajoutez régulièrement de nouvelles tâches selon un calendrier défini. Entre deux lots, la flotte n'a aucune tâche en attente. L'intervalle entre les lots est prévisible et suffisamment long pour qu'il ne vaille pas la
peine de maintenir les ouvriers au chaud; il n'y a donc aucun intérêt à utiliser --scale-min, --scale-spare, ou --scale-down-delay. La configuration de la flotte reste stable pour tous les lots.
Option pertinente : --scale-max
Charge de travail par lots planifiée dans la console d' Code Engine
Vous gérez un parc et ajoutez régulièrement de nouvelles tâches selon un calendrier défini. Entre deux lots, la flotte n'a aucune tâche en attente. L'intervalle entre les lots est prévisible et suffisamment long pour qu'il ne soit pas rentable de maintenir les travailleurs en activité; il n'y a donc aucun intérêt à utiliser les options Nombre minimum d'emplacements de conteneurs, Emplacements de conteneurs de réserve ou Délai de réduction d'échelle. La configuration de la flotte reste stable pour tous les lots.
Paramètre concerné : nombre maximal d'emplacements de conteneurs
Charge de travail continue et sensible à la latence dans l'interface CLI d' Code Engine
Les tâches surviennent de manière imprévisible tout au long de la journée — elles sont déclenchées par des actions des utilisateurs, des relevés de capteurs ou d'autres événements en temps réel. Attendre le démarrage d'un nouveau worker à chaque fois qu'une tâche arrive entraînerait une latence inacceptable. Configurez plutôt la flotte de manière à disposer d'un vivier de travailleurs en veille prêts à intervenir, afin que les tâches puissent démarrer immédiatement.
Options pertinentes : --scale-max, --scale-min, --scale-spare, --scale-down-delay
- Utilisez
--scale-maxpour définir le nombre maximal d'emplacements de conteneurs pouvant être provisionnés. Votre parc s'adapte à cette limite de simultanéité en fonction de la demande de charge de travail. - Utilisez
--scale-minpour vous assurer qu'un pool de travailleurs de base est toujours en cours d'exécution, même lorsqu'aucune tâche n'est en attente. Utilisez cette option lorsque le trafic peut tomber à zéro pendant un certain temps, mais que vous souhaitez tout de même un démarrage instantané dès qu'il reprend. - Utilisez
--scale-sparepour conserver un certain nombre d'emplacements de tâches libres disponibles au-delà du nombre actuel de tâches en cours d'exécution. Lorsqu'une tâche arrive, son traitement commence immédiatement sur un nœud de travail déjà en cours d'exécution, et la flotte provisionne d'autres nœuds de travail en arrière-plan afin de reconstituer la capacité disponible. - Utilisez pour
--scale-down-delayempêcher les workers de réduire leur capacité immédiatement après l'achèvement de leur dernière tâche. Ce paramètre est utile lorsque les tâches arrivent de manière intermittente, avec des intervalles temporaires entre elles, ce qui permet aux collaborateurs de rester disponibles et d'éviter des cycles inutiles de réduction et d'augmentation des capacités. Le maintien des workers en état de veille réduit le temps de latence au démarrage des tâches, minimise la charge liée à leur initialisation et diminue le coût lié à la création répétée de nouveaux workers.
Charge de travail continue et sensible à la latence dans la console d' Code Engine
Les tâches surviennent de manière imprévisible tout au long de la journée — elles sont déclenchées par des actions des utilisateurs, des relevés de capteurs ou d'autres événements en temps réel. Attendre le démarrage d'un nouveau worker à chaque fois qu'une tâche arrive entraînerait une latence inacceptable. Configurez plutôt la flotte de manière à disposer d'un vivier de travailleurs en veille prêts à intervenir, afin que les tâches puissent démarrer immédiatement.
Paramètres pertinents : nombre maximal d'emplacements de conteneurs, nombre minimal d'emplacements de conteneurs, emplacements de conteneurs de réserve, délai de réduction d'échelle
- Utilisez Nombre maximal d’emplacements de conteneurs pour définir le nombre maximal d’emplacements de conteneurs pouvant être provisionnés. Votre parc s'adapte à cette limite de simultanéité en fonction de la demande de charge de travail.
- Utilisez le paramètre Minimum container slots pour vous assurer qu'un pool de workers de base reste toujours actif, même lorsqu'aucune tâche n'est en attente. Utilisez cette option lorsque le trafic peut tomber à zéro pendant un certain temps, mais que vous souhaitez tout de même un démarrage instantané dès qu'il reprend.
- Utilisez les emplacements de conteneurs de réserve pour conserver un nombre d'emplacements de tâches libres supérieur au nombre actuel de tâches en cours d'exécution. Lorsqu'une tâche arrive, son traitement commence immédiatement sur un nœud de travail déjà en cours d'exécution, et la flotte provisionne d'autres nœuds de travail en arrière-plan afin de reconstituer la capacité disponible.
- Utilisez le délai de réduction d'échelle pour empêcher les workers de réduire leur capacité immédiatement après l'achèvement de leur dernière tâche. Ce paramètre est utile lorsque les tâches arrivent de manière intermittente, avec des intervalles temporaires entre elles, ce qui permet aux collaborateurs de rester disponibles et d'éviter des cycles inutiles de réduction et d'augmentation des capacités. Le maintien des workers en état de veille réduit le temps de latence au démarrage des tâches, minimise la charge liée à leur initialisation et diminue le coût lié à la création répétée de nouveaux workers.