【问题标题】:ECS service aws-cli vs. dashboardECS 服务 aws-cli 与仪表板
【发布时间】:2018-09-05 13:36:15
【问题描述】:

当前遇到 AWS ECS 工具的奇怪行为。

我在使用 aws-cli 和 Web 仪表板时发现了 2 种不同的行为。

上下文是我设置了一个 ECS 集群,我正在编写一个脚本,通过(以及其他步骤)创建或更新 ECS 服务来自动化我的部署。

我的部分脚本使用了命令aws ecs describe-services 正是在这里,我发现了与仪表板不同的信息(在我的集群页面上)。

确实,在创建服务时,如果我运行 ACTIVE

aws ecs describe-services --services my_service --cluster my_cluster

该服务将显示为包含我需要解析的所有信息的输出。它也会在网络仪表板上显示为ACTIVE

问题是当我从仪表板中删除服务时。正如所料,它已从列表中删除,我最终可以从仪表板中重新创建一个具有相同名称的名称。

但是如果删除服务后,我重新运行上面的命令,输出会显示服务为INACTIVE,并且之前删除的服务的所有信息仍然会出现。

如果服务被删除,该命令不应该将服务返回为MISSING

{
    "services": [],
    "failures": [
        {
            "reason": "MISSING",
            "arn": "arn:aws:ecs:<my_regions>:<my_id>:service/my_service"
        }
    ]
}

因为这使我的脚本中的解析变得复杂,即使我能找到解决方法(即使INACTIVE 不存在也可能尝试创建服务),即使被删除,服务也有点奇怪还在这里,某处,堆满了我的堆栈。

编辑:我使用的是最新版本的 aws-cli

【问题讨论】:

  • 等几分钟会怎样?
  • 删除后的前几分钟,cli显示服务状态为DRAINING,然后变为INACTIVE。 30 分钟后,它仍然存在并且INACTIVE

标签: amazon-web-services amazon-ecs


【解决方案1】:

这是 aws 提供的默认行为。请查看以下文档:

当您删除服务时,如果仍有正在运行的任务需要清理,则服务状态会从 ACTIVE 变为 DRAINING ,并且该服务在控制台或 ListServices API 操作中不再可见。任务停止后,服务状态从 DRAINING 变为 INACTIVE 。仍然可以使用 DescribeServices API 操作查看处于 DRAINING 或 INACTIVE 状态的服务。但是,in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping 和对这些服务的 DescribeServices API 操作会返回 ServiceNotFoundException 错误。

delete-service

【讨论】:

  • 谢谢你,在某些时候我不知道在哪里寻找信息,我错过了最明显的文章。希望这个清理和清除功能很快就会到来,在我删除某些东西后剩余数据感觉很奇怪。希望他们也将其应用于 INACTIVE 任务定义 (forums.aws.amazon.com/thread.jspa?threadID=170378)
  • true..这将消除不同任务状态之间的混淆,并使我们的工作更轻松。
猜你喜欢
  • 2020-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2019-11-12
  • 2015-05-01
  • 1970-01-01
  • 2021-07-28
相关资源
最近更新 更多