如何解决运行附加的 AWS ECS 任务未分离
是否有简单的方法来运行附加的 ECS 任务或仅在容器运行时跟踪日志(即在显示所有关联的日志后分离)?
使用 AWS CLI (1.17.0) 和 ecs-cli (1.21.0),我已经非常接近以下两个命令:
aws ecs run-task --cluster "mycluster" --task-definition testhelloworldjob --launch-type FARGATE --network-configuration etc.etc.etc.
ecs-cli logs --task-id {TASK_ID_HERE_FROM_OUTPUT_OF_PREVIOUS_COMMAND} --follow
我目前对上述方法有两个问题:
- 存在竞争条件,即当任务处于“running”前状态时日志不可用。不是
ecs-cli logs
等待日志存在,而是立即抛出错误。 - 即使在等待任务处于运行状态并发出
ecs-cli logs
命令后,即使在任务完成并处于后运行状态后,该命令也拒绝分离。
对于第一个问题,在调用日志之前,我可以轮询直到有激活/待处理状态。对于第二个问题,我可以起草某种类型的线程调用,在有问题的容器不再运行后轮询以停止跟踪日志......但必须有更简单的方法吗?
澄清我来自许多其他容器编排工具/技术,它们似乎非常无缝地支持这一点。以下是一些工具及其相关命令的示例,它们会产生我想要的结果:
Docker CLI:
docker run hello-world
Docker-Compose Yaml:
docker-compose up
K8 Kubectl Yaml:
kubectl apply -f ./hello-k8.yaml && kubectl logs --follow hello-world
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。