2017-01-13 3 views
3

Étant donné un service fonctionnant dans ECS avec, disons, 2 tâches, je veux lancer une nouvelle version de l'image sous-jacente. Si je crée une nouvelle version de la tâche et que je mets à jour le service pour utiliser la nouvelle définition, elle lancera 2 nouvelles tâches avec la nouvelle version, attendra que celles-ci soient en bonne santé, puis désinscrit les anciennes tâches.Quel est le moyen le plus simple de "recycler" des tâches dans Amazon ECS?

Tout va bien, mais cela signifie que je crée un tas de définitions de tâches qui sont identiques, puisque le nom de l'image n'a pas changé (myapplication:latest). Et, l'expérimentation a suggéré que si j'arrête manuellement une tâche, et que ECS la relance, elle utilisera l'image mise à jour. Cependant, l'arrêt manuel de la tâche entraîne sa désinscription immédiate, avant le lancement d'un remplacement, ce qui signifie une courte période d'indisponibilité. Pour autant que je sache, il est impossible de relancer les images à partir de la console. Y a-t-il un moyen de l'ICA? Ou, un autre truc auquel je ne pense pas?

Répondre

0

Il n'y a pas de truc ici - la bonne façon de lancer une nouvelle version de tâche (fonctionnant en tant que service) est d'enregistrer une nouvelle définition de tâche puis de mettre à jour le service pour pointer vers cette nouvelle définition. Rappelez-vous que votre image vit dans la définition de tâche, qui vit dans la tâche, qui vit dans le service.

La meilleure façon:

  1. inscrire une nouvelle définition des tâches (par exemple register-task-definition via le CLI). AWS enregistrera une nouvelle définition même si rien n'a changé dans votre fichier de définition.
  2. Mettez à jour le service pointant vers la même tâche, mais laissez sur le numéro de révision de la tâche. AWS redémarre ensuite deux nouveaux services, attend leur mise en ligne, puis arrête les deux anciennes tâches en utilisant l'ancienne définition. Ré-enregistrement de votre ancienne tâche (facultatif)
  3. Vous pouvez avoir des services existants exécutant ce point à des définitions de tâches radiées.