如果服务在ECS中运行,例如2个任务,我想启动基础映像的新版本。如果我创建了一个新版本的任务,并更新了服务以使用新版本,它将使用新版本启动2个新任务,等待这些任务变得健康,然后取消注册旧任务。
这很好,但这意味着我创建了一堆相同的任务定义,因为图像名称没有改变(它是myapplication:latest
)。并且,实验表明,如果我手动停止任务,并让ECS重新启动它,它将使用更新的图像。但是,手动停止任务会导致在更换启动之前立即取消注册,这意味着短时间的停机时间。
据我所知,无法从控制台重新启动图像。 CLI有什么办法吗?或者,我没想到的其他一些技巧?
答案 0 :(得分:0)
这里没有技巧 - 启动新版本任务(作为服务运行)的正确方法是注册新的任务定义,然后更新服务以指向新的定义。请记住,您的图像存在于任务定义中,该任务定义位于服务中的任务中。
最简单的方法:
register-task-definition
)。即使您的定义文件中没有任何更改,AWS也会注册新的定义。