滚动更新 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

滚动更新

当您创建使用滚动更新 (ECS) 部署类型的服务时,Amazon ECS 服务计划程序会将当前正在运行的任务替换为新任务。在滚动更新期间 Amazon ECS 在服务中添加或删除的任务数量由服务部署配置控制。部署配置由以下内容组成:

  • minimumHealthyPercent 表示在部署期间或容器实例耗尽时应为服务运行的任务数的下限,服务所需任务数的百分比表示。此值四舍五入。例如,如果最小运行状况百分比为 50,并且所需的任务计数为 4,则调度器可以在启动两个新任务之前停止两个现有任务。同样,如果最小运行状况百分比为 75%,所需任务计数为 2,则由于结果值也为 2,调度器无法停止任何任务。

  • maximumPercent 表示部署期间或容器实例耗尽时应为服务运行的任务数的上限,服务所需任务数的百分比表示。此值四舍五入。例如,如果最大百分比为 200 且目标任务为计数四,则调度器可以在停止四个现有任务之前启动四个新任务。同样,如果最大百分比为 125,且目标任务计数为三,则调度器无法启动任何任务,因为结果值也是三。

重要

设置最小运行状况百分比或最大百分比时,应确保调度器在启动部署时可以停止或启动至少一个任务。如果您的服务由于部署配置无效而停滞的部署,将发送服务事件消息。有关更多信息,请参阅因为服务部署配置,服务 (service-name) 无法在部署期间停止或启动任务。更新 minimumHealthyPercent 或最大百分比值,然后重试。

滚动部署会使用部署断路器来确定任务是否达到稳定状态。部署断路器可以在部署失败时选择性地回滚部署。

故障检测方法

这两种方法可以让您快速识别部署失败的时间,然后有选择地将失败回滚到最后一个工作部署。

可以单独使用这些方法,也可以一起使用。当同时使用这两种方法时,只要满足任一故障方法的故障标准,部署就会设置为失败。

使用以下准则来帮助确定要使用哪种方法:

  • 断路器 — 若要在任务无法启动时停止部署,请使用此方法。

  • CloudWatch alarms-如果您想根据应用程序指标停止部署,请使用此方法。

有关 Amazon ECS 部署过程最佳实践的信息,请参阅《Amazon ECS 最佳实践指南》中的任务部署