【发布时间】:2020-04-29 03:18:17
【问题描述】:
我有一个 ECS 服务重复启动和停止在 EC2 (m5.large) 启动类型容器上运行的任务。事件选项卡循环显示这些消息 -
service test-service deregistered 1 targets in target-group localhost-localhost-default
service test-service has begun draining connections on 1 tasks.
service test-service deregistered 1 targets in target-group localhost-localhost-default
service test-service has started 2 tasks: task 4e1569b3-a15c-4bac-85f7-396b530113a5 task d5651035-8e3d-48df-b457-d05e5b7be8db.
没有什么可以帮助理解可能发生的事情了。当我检查目标组本身时,实例不再注册到它。我已经为应该足够的任务分配了memory: 1024 和cpu: 512。
我能做些什么来了解这里的问题是什么?
【问题讨论】:
-
您是否配置了一些负载均衡器?检查:docs.aws.amazon.com/elasticloadbalancing/latest/application/…。一些健康检查可能会完成您的任务
-
@JhonnFrazão - 是的,我有一个配置了目标组和 2 个 EC2 实例的 ALB。他们首先显示
Unhealthy。我添加了 Cloudwatch 监控并在 LOGS 选项卡中看到此消息 -ECONNREFUSED 127.0.0.1:5432。我猜这是因为容器无法连接到服务器。但我认为不应该启动/停止容器本身。或者可以吗? -
它可以而且它应该是这样工作的。如果无法满足健康检查条件,并且您将 ECS 服务配置为使用 ALB 健康检查,那么它将终止未通过健康检查的容器。
-
@marianogg9 我确实让它工作了。容器端口未正确暴露。
-
我遇到了类似的问题。在我的例子中,ECS 试图部署一个配置错误的旧镜像。我的最新部署优先考虑只是时间问题。就我而言,查看容器的日志是我的想法。
标签: containers terraform amazon-ecs