【问题标题】:Create new task definition and remove old task definitions for an ECS service为 ECS 服务创建新任务定义并删除旧任务定义
【发布时间】:2019-12-15 15:49:36
【问题描述】:

如果我为 ECS 创建新的任务定义,有没有办法删除服务的所有现有任务定义并添加新定义,还是必须创建全新的服务?

我遇到的问题是,我陷入了一个漫长的开发循环,我更新了一个容器,创建了一个新的任务定义修订版,发现自己必须为此创建一个全新的服务、负载均衡器、目标组等新的任务定义。有没有办法,也许可以告诉现有服务使用任务定义的最新版本,而不必执行上述所有操作?

【问题讨论】:

    标签: amazon-ecs


    【解决方案1】:

    是的,在您上传的 docker 镜像上使用“最新”标签。

    然后确保您的任务定义对其容器映像使用“最新”标签。

    在更新 docker 镜像之后,您需要简单地“循环”服务。在 AWS 控制台中,您可以更新服务并简单地选中向导中的“强制新部署”复选框,而无需更改任何其他内容。 AWS 将停止现有任务并启动将使用当前版本的 docker 映像的新任务。对于非网络任务,这通常很快。 Web 任务需要更长的时间才能“耗尽”。在任何情况下,您都不需要以这种方式创建新的任务定义或更新服务,除非重新部署。

    还可以通过所有 CLI 和 API 工具进行强制新部署。

    【讨论】:

      【解决方案2】:

      创建任务定义的新版本后,打开服务并单击编辑,然后从下拉框中选择新版本,然后选中强制部署并单击更新按钮。请注意,新任务将处于挂起状态,因为资源不足;如果是这种情况,则选择当前正在运行的任务并停止它。

      【讨论】:

        猜你喜欢
        • 2016-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 1970-01-01
        • 2020-07-22
        • 1970-01-01
        相关资源
        最近更新 更多