Amazon ECS Linux 容器代理 - Amazon Elastic Container Service

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

Amazon ECS Linux 容器代理

每个 Amazon ECS 容器代理版本都支持不同的功能集并提供了针对早期版本的错误修复。如果可能,我们始终建议使用最新版本的 Amazon ECS 容器代理。要将您的容器代理更新至最新版本,请参阅更新 Amazon ECS 容器代理

要查看每个代理版本中包含哪些功能和增强功能,请参阅 https://github.com/aws/amazon-ecs-agent/releases。

重要

可靠指标的最低 Docker 版本是 Docker 版本 v20.10.13 及更高版本,该版本包含在经 Amazon ECS 优化的 AMI 20220607 及更高版本中。

Amazon ECS 代理版本 1.20.0 及更高版本已弃用对早于 1.9.0 的 Docker 版本的支持。

生命周期

当 Amazon ECS 容器代理将 Amazon EC2 实例注册到集群时,Amazon EC2 容器实例将其状态报告为 ACTIVE,并将其代理连接状态报告为 TRUE。此容器实例可接受运行任务请求。

如果停止(而不是终止)容器实例,则状态将保持为 ACTIVE,但代理连接状态将在几分钟内转换为 FALSE。在容器实例上运行的任何任务将停止。如果您再次启动容器实例,则容器代理将使用 Amazon ECS 服务重新连接,并且您能够在实例上再次运行任务。

重要

如果您停止并启动某个容器实例,即重启该实例,则一些旧版本的 Amazon ECS 容器代理会在未注销原始容器实例 ID 的情况下再次注册该实例。这种情况下,Amazon ECS 会在集群中列出超出实际拥有数量的容器实例。(如果具有同一 Amazon EC2 实例 ID 的重复容器实例 ID,则可以安全地注销列出为 ACTIVE 且代理连接状态为 FALSE 的重复项。) 此问题已在当前版本的 Amazon ECS 容器代理中修复。有关更新到当前版本的更多信息,请参阅更新 Amazon ECS 容器代理

如果将容器实例的状态更改为 DRAINING,则新任务不会置于该容器实例中,并将尽可能删除在此容器实例上运行的所有服务任务,以便执行系统更新。有关更多信息,请参阅 容器实例耗尽

如果您注销或终止某个容器实例,则该容器实例状态将立即更改为 INACTIVE,而且在您列出您的容器实例时将不再报告该容器实例。但您仍可以在终止后的 1 小时内描述容器实例。1 小时后,该实例描述将不再可用。

重要

您可以手动耗尽实例,也可以构建 自动扩缩组生命周期钩子以将实例状态设置为 DRAINING。有关 Auto Scaling 生命周期钩子的更多信息,请参阅 Amazon EC2 Auto Scaling 生命周期钩子

经 Amazon ECS 优化的 AMI

经 Amazon ECS 优化的 AMI 的 Linux 变体使用 Amazon Linux 2 AMI 作为其基础。可以通过查询 Systems Manager Parameter Store API 来检索每个变体的 Amazon Linux 2 源 AMI 名称。有关更多信息,请参阅 检索经 Amazon ECS 优化的 AMI 元数据。从最新的经 Amazon ECS 优化的 Amazon Linux 2 AMI 启动容器实例时,您将收到最新的容器代理版本。要启动具有经 Amazon ECS 优化的 Amazon Linux 2 AMI 的容器实例,请参阅 启动 Amazon ECS Linux 容器实例

使用其他 Linux 操作系统

要在其他操作系统上安装最新版本的 Amazon ECS 容器代理,请参阅 安装 Amazon ECS 容器代理经 Amazon ECS 优化的 AMI中的表显示了针对每个代理版本在 Amazon Linux 2 上测试过的 Docker 版本。

其他信息

以下页面提供了有关更改的更多信息: