Amazon EKS 即将结束对 Dockershim 的支持 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon EKS 即将结束对 Dockershim 的支持

Kubernetes 不再支持 Dockershim。Kubernetes 团队完全移除了 Kubernetes 版本 1.24 中的运行时。Amazon EKS 将从 Kubernetes 版本 1.24 发布起,结束对 Dockershim 的支持。从 1.24 版开始,正式发布的 Amazon EKS AMI 将 containerd 作为唯一运行时。

您可以使用 kubectl 插件查看您的哪些 Kubernetes 工作负载在安装 Docker 套接字卷。有关更多信息,请参阅 GitHub 上的 Detector for Docker Socket (DDS)。运行版本低于 1.24 的 Kubernetes 的 Amazon EKS AMI 将使用 Docker 作为默认运行时,但有一个引导标志选项,您可将其用于借助 containerd 在任何目前受支持的集群上测试您的工作负载。有关更多信息,请参阅启用 containerd 运行时间引导标记

我们将继续在现有 Kubernetes 版本上发布 AMI,直到支持日期结束。有关更多信息,请参阅Amazon EKS Kubernetes 发布日历。如果需要更多时间在 containerd 上测试工作负载,可以继续使用 1.24 版之前的支持版本,且仍然会得到完全支持。但是,当提供的版本是 1.24 且您想将官方 Amazon EKS AMI 升级到该版本或更高版本,请务必确认您的工作负载可以在 containerd 上运行。

如果要升级到 1.24 版或更高版本,同时仍使用 Dockershim,请在安装 Docker 的情况下构建自己的 AMI。但是,当 Kubernetes 移除 Dockershim 支持时,请确保迁移到 containerd 以保持在受支持的版本上。有关更多信息,请参阅 Kubernetes 博客上的 Kubernetes is Moving on From Dockershim: Commitments and Next Steps

containerd 运行时提供更可靠的性能和安全性,而且这是我们在 Amazon EKS 中标准化的运行时(Fargate 和 Bottlerocket 已经仅使用 containerd)。containerd 有助于最大限度地减少解决 Dockershim 常见漏洞和风险(CVE)所需的 Amazon EKS AMI 版本数量。由于 Dockershim 已经在内部使用 containerd,您可能无需进行任何更改。但是,在某些情况下可能需要或必须要进行更改:

  • 您必须对挂载 Docker 套接字的所有应用程序进行更改。例如,使用容器构建容器镜像将受到影响。许多监控工具也挂载了 Docker 套接字。您可能需要等待更新或重新部署工作负载才能进行运行时监控。

  • 您可能需要对依赖特定 Docker 设置的所有应用程序进行更改。例如,使用 HTTPS_PROXY 可能需要更改。有关更多信息,请参阅 Docker 文档中的 dockerd

  • 如果您使用 Amazon ECR 凭证助手拉取镜像,则必须切换到 kubelet 镜像凭证提供程序。有关更多信息,请参阅 Kubernetes 文档中的配置 kubelet 镜像凭证提供程序