Amazon ECS [Fargate] - 如何重新启动服务中的所有任务?

Amazon ECS [Fargate] - 如何重新启动服务中的所有任务?

我们有一个从数据库加载一些配置的任务。在数据库上更新设置后,我们希望能够重新启动服务中的所有任务,以便将设置传播到所有实例。

我用了

aws ecs 更新服务 --force-new-deployment --cluster CLUSTER_NAME --service SERVICE_NAME

但这会导致停机。由于停止并启动

答案1

最好扩展您的 ECS 服务,例如从 10 个任务扩展到 20 个任务,然后一旦它们再次缩小到 10 个,这将终止过时的任务。

查看ECS 滚动更新

希望有帮助:)

答案2

这听起来像你没有配置或没有正确健康检查有了这个,ECS 可以从负载均衡器中优雅地删除任务,并且只有在准备就绪时才添加新任务。

只需在应用程序中公开一个返回 HTTP 200 的 GET,然后使用 ECS主动检查在向其发送流量之前,您的任务是否正在运行。

ECS 将尝试确保在执行以下任务时有最低健康百分比:滚动更新

我通过这种方式重新启动我们的集群,无需停机。

相关内容