【问题标题】:ECS unable to place task despite increasing instance count尽管实例数量增加,ECS 仍无法放置任务
【发布时间】:2019-10-15 03:56:06
【问题描述】:

在创建新实例并同时增加容器所需数量时,我遇到了以下问题。由于当我增加所需数量时实例未运行,我得到“服务 XXX 无法放置任务,因为没有容器实例满足其所有要求。”。几秒钟后,新实例启动,但是,集群仍然有“Desire count: 30, Pending count: 0, Running count: 3”。换句话说,集群不“知道”有新实例,也没有创建新容器。

如何避免这种情况?是否有一个参数指示集群监控实例计数,而不是在所需计数增加后立即监控?

【问题讨论】:

  • 对这里的答案非常感兴趣 - 根据我的经验,您必须等待 ECS 服务轮询,然后一切都会启动。这是我们迁移到 EKS 的主要驱动力之一 - 它的速度要快得多!

标签: amazon-web-services amazon-ec2 amazon-ecs


【解决方案1】:

在这种情况下,这是 ECS 的预期行为,原因是 ECS 服务调度程序包含 circuit breaker logic,它会在任务反复启动失败时限制放置任务的频率。

当一个新的容器实例启动时,它需要一些时间来获取 注册到集群,看起来服务受到限制 因为从增加所需计数到注册所需的时间 容器实例到集群。

话虽如此,如果您在集群中扩展实例数量后等待约 15 分钟,服务调度程序将开始将任务放置在新的容器实例上。

为避免这种情况,ECS 集群应根据 Custer 预留指标进行自动扩缩,因为此 ECS 集群将预先有额外的容量来容纳新的任务数。

这是关于扩展 ECS 集群的tutorial

【讨论】:

    猜你喜欢
    • 2017-11-20
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 2019-08-02
    • 2021-12-07
    • 1970-01-01
    相关资源
    最近更新 更多