一尘不染

Amazon ECS中的最小健康百分比和最大百分比是多少

docker

我已经具有Docker和EC2的经验。但是我是ECS的新手。有人可以帮助我了解这两个参数的实际作用,区别和用法。

官方文件说:

最低百分之健康
表示在部署期间必须保持在RUNNING状态的服务任务数的下限,以所需任务数的百分比(四舍五入到最接近的整数)的百分比表示。使用此参数,可以在不使用其他群集容量的情况下进行部署。例如,如果您的服务具有所需的四个任务数量,并且最小健康百分比为50%,则调度程序可以在启动两个新任务之前停止两个现有任务以释放群集容量。不使用负载平衡器的服务任务如果处于“运行”状态,则被视为运行状况良好;如果使用负载均衡器的服务的任务处于“运行”状态,并且托管在其上的容器实例被负载均衡器报告为“正常”,则它们被视为运行状况良好。

最大百分比
参数表示一组在部署期间允许在运行或未决状态服务的任务数的上限,因为任务所需数量(四舍五入到最接近的整数)的百分比。使用此参数可以定义部署批处理大小。例如,如果您的服务具有所需的四个任务数,并且最大百分比值为200%,则调度程序可以在停止四个较旧的任务之前启动四个新任务(前提是可以使用执行此任务所需的群集资源)。最大百分比的默认值为200%。

对于这两个参数,我仍然不清楚。

  1. 如果运行状况百分比最低,则如果我的服务具有4个任务的期望数量,而运行状况百分比最小值为25%,则调度程序将启动/停止多少个现有/新任务?
  2. 如果使用最大百分比,如果我的服务具有4个任务的期望数量,并且最大百分比值为50%,那么调度程序将启动/停止多少个现有/新任务?
  3. 如果我的服务仅运行一个任务,则如何设置这些参数以停止现有任务并运行新任务。

阅读 341

收藏
2020-06-17

共1个答案

一尘不染

  1. 如果期望任务为4,最小运行状况为25%,则在部署期间,允许ECS停止除1之外的所有任务,然后再启动新任务
  2. 最大值应为100+,这样配置就没有意义。但是,如果您有4个所需任务,且最大任务数为150%,则ECS可以启动2个新任务,然后再停止其他任务。
    • 如果要确保在重新部署期间运行的任务不超过1个,则需要将期望值设置为1,最小为0%,最大为100%。
    • 如果要确保始终至少有1个任务在运行,则需要将期望值设置为1,最小为100%,最大为200%。

其他例子。如果需要4,则最小为50%,最大为150%。然后,ECS可以决定在部署期间将要执行的操作。

  • 如果群集没有更多资源,则可以决定停止2个任务,在新版本中启动2个新任务,然后等待新任务运行正常。然后停止其余两个任务并开始两个新任务。
  • 如果群集具有更多资源,则ECS可以决定在停止现有任务之前启动两个新任务。

或者您可以这样看。在重新部署期间,ECS需要在MinimumPercent / 100 期望的任务和MaximumPercent / 100
期望的任务之间运行。在这种情况下,需要2-6个任务。

2020-06-17