如何在autscaling组中出现的ecs实例上启动新任务

问题描述 投票:0回答:1

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

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

现在,假设当我停止/终止该群集中的实例时,由于自动缩放组的最小容量为2,因此将自动启动新实例。

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

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

amazon-web-services amazon-ec2 containers amazon-ecs autoscaling
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.