9

我有三个 EC2 实例,带有一个经典的负载均衡器。理想情况下,我应该在两个实例中运行两个任务。因此,在创建服务时,我将所需的任务数设为 2。

当我尝试运行新版本的任务定义时出现了我的问题。我更新服务以运行新的任务定义。所以理论上它应该运行两个更新的任务来替换旧的,因为我运行了三个 ec2。

实际上发生的只是一个更新的任务与旧任务一起运行。因此,即使所需的计数设置为 2,总共运行 3 个任务,正如您在给定图像中看到的那样。

在此处输入图像描述

有谁知道这个的解决方案?

4

1 回答 1

2

使用经典负载均衡器时,您只能映射 ec2 实例上的静态端口。

您的部署设置为: min-health: 100% max-healthy: 200%

该服务的新版本将需要另外两台主机,并提供您请求的免费 tcp 端口。由于集群中只有 3 台服务器,因此无法满足此条件。您可以向集群添加更多服务器,也可以使用将与 docker 动态端口映射集成的应用程序负载均衡器 (ALB)。

关于安全组的更新:要管理安全组,您可以用另一个安全组标记一个安全组。例如,用“app-gateway-alb”标记您的 ALB,它允许来自网络外部的特定端口,然后在容器上有一个安全组,允许来自“app-gateway-alb”的任何 TCP,这是通过放置安全性来实现的组 ID 在您通常放置 CIDR 规则的文本框中。

于 2017-01-15T01:51:01.337 回答