J'ai un cluster ECS constitué d'instances de conteneur de type d'instance A, disons son t2.small. Le cluster est constitué de plusieurs machines exécutant plusieurs services. Maintenant, je suis sur le point d'avoir une nouvelle tâche/tâche (appelons-la "GreatRequirements") qui nécessitera beaucoup plus de cpu/mémoire que tous les autres services/tâches. Je voudrais être capable de démarrer 1 grande machine (Appelons-la "LargeMachine") pour le cluster, que les autres tâches ne seront jamais placées, de sorte que cette machine dans le cluster est toujours disponible pour mon service "GreatRequirements".Comment empêcher le démarrage des tâches sur une instance de conteneur donnée
Est-il possible que je puisse empêcher tous les autres services/tâches que "GreatRequirements" d'être programmés sur cette machine, autre que faire des contraintes de palgement sur TOUS les autres services/tâches qui le font? Essentiellement, je veux prévenir Formulaire ECS en plaçant d'autres services/tâches sur le "LargeMachine", de sorte que je ne finisse pas dans une situation où un tas de petits services/tâches empêche mon service "GreatRequirements" de démarrer une tâche parce qu'il ne peut pas trouver une machine avec mémoire
Merci
Mais cela n'empêchera pas d'autres tâches d'être planifiées pour s'exécuter sur "LargeMachine", et je peux toujours finir dans un scénario où cette machine n'aura pas la CPU/mémoire suffisante disponible? –
La solution d'empêcher d'autres tâches: Vous pouvez avoir toutes ces autres tâches ayant une contrainte, par exemple 'attribute: ecs.instance-type == t2.small' qui les empêchera de fonctionner sur la grosse machine ou vous pouvez diviser votre cluster en 2 clusters (un pour les tâches ordinaires et un autre pour GreatRequirements). Dans le nouveau cluster, vous aurez la grosse machine et planifiez votre tâche (GreatRequirements) à exécuter sur cette machine – Gigapalmer
Dans ce cas, je devrais configurer des contraintes pour tous les autres services/tâches, ce que je voulais omettre. Je ne pense pas qu'il existe vraiment une bonne solution pour cela, autre que de changer le type d'instance pour toutes les instances, pour un type capable de gérer le service avec "GreatRequirements" - et de détecter quand un service ne peut pas programmer une tâche CPU/mémoire, et mettre à l'échelle des instances supplémentaires dans le cluster en fonction de cela. Par ailleurs, Gigapalmer :-) –