Amazon EKS 结束了对 Dockershim 的支持
Kubernetes 不再支持 Dockershim。Kubernetes 团队移除了 Kubernetes 版本 1.24 中的运行时。有关更多信息,请参阅 Kubernetes 博客上的 Kubernetes is Moving on From Dockershim: Commitments and Next Steps
Amazon EKS 还将从 Kubernetes 版本 1.24 发布起,结束对 Dockershim 的支持。从 1.24 版开始,正式发布的 Amazon EKS AMI 将 containerd 作为唯一运行时。
您可以使用 kubectl 插件查看您的哪些 Kubernetes 工作负载挂载了 Docker 套接字卷。有关更多信息,请参阅 GitHub 上的 Detector for Docker Socket (DDS)1.24,则使用 Docker 作为默认运行时。但是,这些 Amazon EKS AMI 有一个引导标志选项,您可以使用该选项在任何受支持的集群上通过 containerd 测试工作负载。有关更多信息,请参阅启用 containerd 运行时间引导标记。
我们将继续在现有 Kubernetes 版本上发布 AMI,直到支持日期结束。有关更多信息,请参阅Amazon EKS Kubernetes 发布日历。如果需要更多时间在 containerd 上测试工作负载,请使用 1.24 版之前的支持版本。但是,当您想将官方 Amazon EKS AMI 升级到版本 1.24 或更高版本时,请确保验证您的工作负载可以在 containerd 上运行。
containerd 运行时提供更可靠的性能和安全性。containerd 是整个 Amazon EKS 标准化的运行时。Fargate 和 Bottlerocket 已经只能使用 containerd。containerd 有助于最大程度地减少 Dockershim 常见漏洞和风险Dockershim 已经在内部使用 containerd,您可能无需进行任何更改。但是,在某些情况下可能需要或必须要进行更改:
-
您必须对挂载 Docker 套接字的应用程序进行更改。例如,使用容器构建的容器映像将受到影响。许多监控工具也挂载了 Docker 套接字。您可能需要等待更新或重新部署工作负载才能进行运行时监控。
-
您可能需要对依赖特定 Docker 设置的应用程序进行更改。例如,不再支持
HTTPS_PROXY协议。您必须更新使用此协议的应用程序。有关更多信息,请参阅 Docker 文档中的dockerd。 -
如果您使用 Amazon ECR 凭证助手提取映像,则必须切换到
kubelet映像凭证提供程序。有关更多信息,请参阅 Kubernetes 文档中的配置kubelet映像凭证提供程序。 -
由于 Amazon EKS
1.24不再支持 Docker,因此不再支持 Amazon EKS 引导脚本以前支持的某些标志。在迁移到 Amazon EKS 1.24或更高版本之前,您必须删除任何引用现在不支持的标志的内容:-
--container-runtime dockerd(containerd是唯一受支持的值) -
--enable-docker-bridge -
--docker-config-json
-