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

Dockershim 弃用

Kubernetes 已弃用 Dockershim 支持,并计划在 Kubernetes 1.24 版中完全删除运行时。Amazon EKS 将从 Kubernetes 1.23 版起,结束对 Dockershim 的支持。从 1.23 版开始,正式发布的 Amazon EKS AMI 将 containerd 作为唯一运行时。在撰写本文时,预计时间为 2022 年第二季度末。运行 Kurbernetes 1.17 至 1.21 版的 Amazon EKS AMI 使用 Docker 作为默认运行时,但是有一个 bootstrap 标志选项,用于使用 containerd 在任何目前支持的集群上测试工作负载。有关更多信息,请参阅 启用 containerd 运行时间引导标记

我们将继续在现有 Kubernetes 版本上发布 AMI,直到 Amazon EKS Kubernetes 发布日历 显示的支持日期结束。如果需要更多时间在 containerd 上测试工作负载,可以继续使用 1.23 版之前的支持版本,仍然得到完全支持。但是,在将官方 Amazon EKS AMI 升级到 1.23 版之前,请务必确认您的工作负载可以在 containerd 上运行。

如果要升级到 1.23 版或更高版本,同时仍使用 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 套接字,例如 Datadog。您可能需要等待更新或重新部署工作负载才能进行运行时监控。

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

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