容器运行时接口 (CRI)

CRI 是一个插件接口,它使 kubelet 能够使用各种容器运行时,而无需重新编译集群组件。

你的集群中的每个节点都需要有一个可用的容器运行时,这样 kubelet 才能启动Pod 及其容器。

容器运行时接口 (CRI) 是 kubelet 和容器运行时之间通信的主要协议。

Kubernetes 容器运行时接口 (CRI) 定义了 节点组件 kubelet容器运行时之间通信的主要 gRPC 协议。

API

特性状态: Kubernetes v1.23 [stable]

当通过 gRPC 连接到容器运行时时,kubelet 充当客户端。运行时和镜像服务端点必须在容器运行时中可用,这可以通过使用 --container-runtime-endpoint 命令行标志 在 kubelet 中单独配置。

对于 Kubernetes v1.26 及更高版本,kubelet 要求容器运行时支持 `v1` CRI API。如果容器运行时不支持 `v1` API,kubelet 将不会注册该节点。

升级

当升级节点上的 Kubernetes 版本时,kubelet 会重新启动。如果容器运行时不支持 `v1` CRI API,kubelet 将无法注册并报告错误。如果由于容器运行时已升级而需要重新拨号 gRPC,则运行时必须支持 `v1` CRI API 才能成功连接。这可能需要在正确配置容器运行时后重新启动 kubelet。

下一步

上次修改于 2025 年 6 月 16 日太平洋标准时间下午 4:21:澄清 CRI v1 是必需的 (973426b49d)