【发布时间】:2019-10-24 07:08:24
【问题描述】:
这与this one 的问题几乎相同,但针对的是 Fargate。
我找不到任何方法来暂时停止集群或 Fargate 服务,而无需删除它或更改其任务定义。
尝试单独停止每个任务,但正如预期的那样,Fargate 立即提供了一个新任务。
AWS 控制台中似乎还没有选项 - 也许存在 CLI 选项?
【问题讨论】:
标签: amazon-web-services amazon-ecs aws-fargate
这与this one 的问题几乎相同,但针对的是 Fargate。
我找不到任何方法来暂时停止集群或 Fargate 服务,而无需删除它或更改其任务定义。
尝试单独停止每个任务,但正如预期的那样,Fargate 立即提供了一个新任务。
AWS 控制台中似乎还没有选项 - 也许存在 CLI 选项?
【问题讨论】:
标签: amazon-web-services amazon-ecs aws-fargate
Fargate 不允许您停止集群,因为没有您可以控制停止的底层 EC2 实例。资源以“无服务器”方式供应,因此您不必处理底层资源。
您需要停止单个任务,但正如您所报告的,您可能会遇到在停止作为服务一部分的正在运行的任务后它们被替换的情况。为确保不会发生这种情况,请将您的服务更新为将“任务数”设置为 0。这将使您的服务定义保持正常,因此您不必删除它们,但它允许您删除任何正在运行的任务。
希望有帮助!
【讨论】:
在 ecs-cli 中找到了一个完全符合 @jd-d 描述的命令:
ecs-cli compose --project-name name service down --cluster-config cluster --cluster cluster
停止属于使用 compose 项目创建的服务的正在运行的任务。此命令将所需的服务计数更新为 0。
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cmd-ecs-cli-compose-service-stop.html
确实有效!但不幸的是,我认为这不是一个完整的答案,因为它似乎只在使用 ecs-cli 和管理 docker compose 时有效。
【讨论】: