似乎每个容器实例不能放置三个以上的任务?

问题描述 投票:2回答:2

我有10个服务/任务定义,每个定义需要512个内存和10 cpu(根据容器定义)。我有三个t2.medium实例,每个实例都有4GB内存。因此,最多可以启动24个任务实例。

但是,这三个实例最多只能运行7个服务(3/2/2)。对于不在“事件”选项卡中运行的服务,出现以下错误:

服务完整性检查无法放置任务,因为没有容器实例满足其所有要求。最接近的匹配容器实例3e2dbe6a-7a07-46f2-846b-ccccb9adaeee遇到错误“ RESOURCE:ENI”。

我尝试将ec2实例上的AMI更新为最新的经ecs优化的,但没有帮助。似乎一个ec2 / container实例不能启动超过3个任务?奇怪的是,它像1个月前一样正常工作(所有10个服务都在运行),并且这些错误在20-26天前出现了。

任何想法?

每个服务使用awsvpc网络模式和awslog日志驱动程序。


这里列出了我的网络接口:

enter image description here

amazon-web-services amazon-ec2 amazon-ecs
2个回答
4
投票

对于仍然存在此问题的用户,于2019年6月发布了一个修复程序以启用ENI中继。例如。启用ENI中继后,以前限于3个任务的c5.xlarge现在可以支持20。

看看https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html


3
投票

消息“ RESOURCE:ENI”表明分配弹性网络接口存在问题。

[docst2.medium应该能够分配3个ENI。因此,假设ECS为每个容器分配一个不同的ENI,这就是您不能为一个实例分配三个以上容器的原因。

但是您表示实际上每个实例仅限于2个容器。这使我想知道您是否超出了limit of ENIs per region。除非将ENI拆离而不删除,否则这不会发生(如果您的IAM权限不正确,则可能会发生)。我建议查看AWS控制台中的ENI页面,以确保您没有很多未附加的ENI。

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