本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用基于 AL2023 的 Amazon ECS AMI 托管容器化工作负载
注意
有关如何在容器内使用 AL2023 的更多信息,请参阅AL2023 装在容器里。
Amazon Elastic Container Service (Amazon ECS) 是一种完全托管式的容器编排服务,可以帮助您轻松部署、管理和扩展容器化应用程序。作为一项完全托管的服务,Amazon ECS 内置了 Amazon 配置和操作最佳实践。它与亚马逊弹性容器注册表 (Amazon ECR) Amazon 和 Docker 等第三方工具集成。这种集成使团队更容易专注于构建应用程序而不是环境。您可以在云端跨 Amazon 区域运行和扩展容器工作负载,省去了管理控制面板的繁琐。
您可以使用基于 AL2023 的亚马逊 ECS 优化型 AMI 在 AL2023 上托管容器化工作负载。有关更多信息,请参阅 Amazon ECS 优化的 AMI
与 AL2 相比,亚马逊 ECS 的 AL2023 发生了变化
与 AL2 一样,AL2023 提供了作为 Amazon ECS Linux 实例运行所需的基本软件包。在 AL2 中containerd
,docker
、和ecs-init
软件包可通过获得amazon-linux-extras
,而 AL2023 则将这些软件包包含在核心存储库中。
借助通过版本控制存储库进行确定性升级功能,默认情况下,每个 AL2023 AMI 都锁定到特定的存储库版本。AL2023 Amazon ECS 优化的 AMI 也是如此。在部署之前,可以仔细管理和测试您的环境的所有更新,并提供一种在出现问题时恢复到先前 AMI 内容的简便方法。有关此 AL2023 功能的更多信息,请参阅023 年通过版本化存储库进行确定性升级 AL2。
AL2023 通过 AL2 支持的 cgroup v1 接口切换到 cgroup v2。有关更多信息,请参阅 统一控制组层次结构 (cgroup v2)。
注意
2023.2.20230920 之前的 AL2023 版本(第一个 AL2023. 2 版本)在 cgroup 内部处理内存不足 (OOM) 时包含一个错误。systemd
cgroup 中的所有进程总是被杀死,而不是 OOM 杀手一次选择一个进程,这是预期的行为。
与 AL2 行为相比,这是一种回归,自 2023.2.20230920 版本的 AL2023 起已修复。
该项目中提供了用于构建 Amazon ECS 优化的 AMI 的amazon-ecs-ami GitHub 代码。
自定义基于 AL2023 的 Amazon ECS 优化的 AMI
重要
我们建议您使用经亚马逊 ECS 优化的 AL2023 AMI。有关更多信息,请参阅《亚马逊弹性容器服务开发人员指南》中的亚马逊 ECS 优化版 AMI。
您可以使用 Amazon ECS 创建自定义 AMI 所用的同样的构建脚本。有关更多信息,请参阅亚马逊 ECS 优化的 Linux AMI 构建脚本。