[英]Desired tasks count in ECS service during deployment
假设我正在运行ECS服务。 它被配置为至少运行2个任务,期望的计数为2,最大任务计数为10。最小健康百分比设置为100,最大百分比设置为150。
使用CloudFormation模板管理ECS服务。
如果我通过更改要使用的docker image标签来更新我的ECS服务CloudFormation模板并将这些更改应用到堆栈,则将开始新的部署。
假设在部署之前,该应用程序处于高负载下,并且通过自动缩放将任务数增加到最多10个正在运行的任务。
在这种情况下,我对ECS服务部署的期望如下:
我得到的是:
问题是,ECS并未考虑部署之前正在运行的旧任务的数量。 它尝试以期望的数量2进行部署,该数量最初在CloudFormation模板中设置。 这会导致自动缩放开始前意外终止8个任务。
如果通过CloudFormation更新服务,是否有办法在新版本部署期间实现“预期”方案? 我知道,我可以在部署前手动将模板中所需的计数更改为当前正在运行的任务数。 也许有更好的方法?
如果您希望在特定时刻的计数是10,并且您将最小健康百分比设置为150,最大百分比设置为200,那么它将产生5个以上的任务并启动5个旧任务的消耗。
另外,您不必更改所需的计数并处理处于耗尽状态的任务。 连接一旦关闭,便会排干。
似乎可能不提供所需的计数 。 然后,新部署将使用旧的所需计数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.