关于容器运行时

您的集群使用容器运行时来创建和运行 Kubernetes Pod。在 GKE on Bare Metal 1.13 版之前,容器运行时可以是 Docker Enginecontainerd。但是,从 GKE on Bare Metal 1.13 版开始,容器运行时只能是 containerd

在 GKE on Bare Metal 1.13 版之前,您通过在集群配置文件的 spec.nodeConfig.containerRuntime 字段中指定值来选择容器运行时。从 GKE on Bare Metal 1.13 版开始,containerRuntime 字段不再包含在 bmctl 生成的集群配置文件中。

Kubernetes 1.24 不再支持 Docker Engine

Kubernetes 中的 dockershim 组件使集群节点能够使用 Docker Engine 容器运行时。但是,Kubernetes 1.24 移除了 dockershim 组件。由于 GKE on Bare Metal 1.13 版将在 Kubernetes 1.24 上运行,因此 1.13 版及更高版本的集群无法再使用 Docker Engine。

无论是创建 1.13 版集群,还是将 1.12 版集群升级到 1.13 版,containerd 都是默认值,并且是唯一受支持的容器运行时。您无需在集群配置文件中指定容器运行时。如果您尝试为容器运行时指定 containerd 以外的任何值,则集群升级或创建操作将失败。

您在开发中用于创建映像的 Docker 安装与 Kubernetes 集群内的 Docker Engine 容器运行时无关。您仍然可以使用 Docker 创建映像和构建应用容器。这些容器仍然可以在集群内运行。

您必须继续在管理员工作站上安装 Docker,因为 bmctl 命令需要 Docker 才能执行操作,例如创建集群。这一 Docker 用途也不受 dockershim 弃用的影响。

检查容器运行时的状态

如需检查容器运行时的状态,请运行以下命令:

systemctl status containerd