好的,我很遗憾在哪里甚至排除故障。我正在尝试启动一个在ECS中运行基本应用程序的堆栈。我将在下面显示cloudformation。但我一直在说:
服务sos-ecs-SosEcsService-1RVB1U5QXTY9S无法发出任务 因为没有容器实例满足其所有要求。原因:没有 在您的群集中找到了Container实例。欲获得更多信息, 请参阅“故障排除”部分。
我启动并运行了2个EC2实例,但都没有出现在ECS群集实例中。
以下是我的一些理论:
另外,我基本上从这开始,http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ecs.html并简化了它。所以这是我现在的json,https://gist.github.com/kidbrax/388e2c2ae4d622b3ac4806526ec0e502
另外,如何简化此操作以取消所有自动缩放功能?只是想让它以某种形式或时尚的方式运作?
答案 0 :(得分:2)
为了使ECS实例加入集群,必须满足以下条件:
/etc/ecs/ecs.config
文件进行群集。用于配置/etc/ecs/ecs.config
文件的UserData。
#!/bin/bash
echo ECS_CLUSTER=ClusterName >> /etc/ecs/ecs.config
您可以在/var/log/ecs/ecs-agent.log *
中检查COntainer实例未在集群中注册的原因。答案 1 :(得分:1)
阅读Why can't my ECS service register available EC2 instances with my ELB?后,我发现问题是我的用户数据。这些值没有被正确替换,因此实例加入了defualt集群。
答案 2 :(得分:0)
由于没有容器实例满足其所有要求,因此无法放置任务。原因:在群集中未找到容器实例。
这通常意味着您的实例已启动,但无法正常注册到集群。
导航到集群的负载均衡目标组,然后检查以下内容
如果您的实例已终止,请检查已终止实例的系统日志,以及 userdata 脚本中是否有任何错误(请检入启动配置)。
如果实例正在运行,请对其进行SSH验证,并验证以下内容:
/etc/ecs/ecs.config
中正确配置了群集。docker ps
)。如果不是,请手动通过以下方式启动:start ecs
。tail -f /var/log/ecs/*
。相关: