【问题标题】:How to launch new tasks on ecs instances which come up in autoscaling group如何在自动缩放组中出现的 ecs 实例上启动新任务
【发布时间】:2019-04-22 16:27:01
【问题描述】:

我有一个 ECS 集群,它有两个实例,定义在一个自动缩放组中,最小容量为 2,

我已将 ecs 服务定义为在每个实例创建或更新时运行两个容器。因此它会在 ecs 集群中为每个 ecs 实例启动两个容器。

现在,假设当我停止/终止该集群中的一个实例时,一个新实例将自动出现,因为自动扩展组的最小容量为两个。

问题是当新实例出现在自动缩放组中时,它不会运行两个定义为服务的任务,而是在一个 ecs 实例上运行 4 个任务,而另一个新的 ecs 实例没有'没有任何任务正在运行。

每当 Auto Scaling 组中出现新实例时,我该如何管理它同时运行这两个任务?

【问题讨论】:

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


    【解决方案1】:

    如果您希望这两个 ec2 实例专用于这 4 个任务,那么您可以修改任务定义内存限制并使其需要 1 个 ecs 实例内存的一半。

    假设您有 t3.small,那么您的任务定义限制将是 1gb 的内存限制。这样,如果您有一个 t3.small 实例,您将只能在其上运行 2 个任务。每当您添加另一个 t3.small 实例时,您应该满足缺少的所需内存,另外两个任务将在该新 t3.small 实例上运行。

    您还可以考虑为每个 ecs 实例运行 1 个任务,为此在服务创建时选择 Deamon 服务类型。并在任务定义中为您的任务提供更多内存。因此,每个新的 ec2 实例都会一直为此服务运行 1 个任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-28
      • 2016-05-13
      • 2018-02-22
      • 2021-04-24
      • 2012-06-19
      • 2019-10-29
      • 2018-01-29
      • 2019-01-23
      相关资源
      最近更新 更多