ECS 中的最小任务数和期望任务数有什么区别?

Red*_*tle 12 amazon-web-services amazon-ecs aws-fargate

如果这个问题听起来短视,我很抱歉,但我无法理解这两个参数之间的差异。

AWS 文档也没有给我答案:

对于最小任务数,输入 Service Auto Scaling 要使用的任务数下限。您的服务的所需计数不会自动调整为低于此数量。

对于所需的任务数量,此字段已预先填充您之前输入的值。此时,您可以更改服务的所需计数,但该值必须介于此页面上指定的最小任务数和最大任务数之间。

有人可以帮我理解这一点吗?顺便说一句,我正在使用Fargate启动类型。

Chr*_*ams 6

这两个值看起来相似,但存在很大差异。

最小任务数是应该存在的少量任务。如果这是 3 并且低于 3 个任务,则存在大问题(例如 AZ 故障或主机故障)。该值应该能够应对您期望的最小负载量,此外尽量确保它具有高可用性以支持单个节点故障。

Desired number oftasks 是 ECS 希望运行的任务量,这将在最小和最大范围之间,但永远不会超过边界。这不等于正在运行的任务数量,它只是应该运行的任务数量(在自动扫描操作启动之前,您可能会看到此数字增加)。

  • 感谢你的回答。当运行的任务数量低于所需数量时仍然感到困惑吗? (4认同)
  • 我这里也还很迷茫。无论“最小任务”和“最大任务”的值或任何应用程序自动缩放设置如何,“所需任务”的值似乎都受到尊重,我认为这些设置仅在部署期间相关。举一个具体的例子,如果我设置 min=2 和 max=3,AWS 对我设置desired=1 或desired=4 没有问题。这需要一两分钟,但最终会启动或停止任务以达到所需的计数,无论最小值和最大值如何。 (2认同)
  • 混乱+1,我看到了与HorsePunchKid相同的结果。我们期望的任务为 6,自动缩放范围为 6-10。然后将自动缩放设置为最小值:30 最大值:60,但忘记增加所需的任务并出现非常奇怪的行为。部署后,有 30 个任务正在运行(持续数小时),但没有任何活动,我运行了负载测试,一切正常。第二天我继续运行一些负载测试,发现一夜之间任务数又下降到了 6 个!不知道为什么它第一次上升到 30 并且没有下降,但后来下降的事实表明它可以将规模降到最低任务以下。 (2认同)