加载中...

CRI(Container Runtime Interface,容器运行时接口)是 Kubernetes 在 1.5 版本引入的一套 gRPC 接口规范,定义了 kubelet 与容器运行时之间的通信协议,使 Kubernetes 无需为每种运行时编写专门代码。
CRI 包含两个服务:RuntimeService 负责 Pod 沙箱与容器的生命周期管理(创建、启动、停止、删除、执行命令、端口转发等),ImageService 负责镜像的拉取、列出与删除。kubelet 作为客户端,通过本地 Unix 套接字调用运行时提供的这些接口。
早期 kubelet 内置对 Docker 的直接支持(dockershim),其他运行时难以接入;CRI 使 containerd、CRI-O 等只要实现接口即可被使用。1.24 版移除 dockershim 后,CRI 成为唯一接入方式,Docker 引擎需借助 cri-dockerd 适配。
CRI 与 CNI(网络)、CSI(存储)共同构成 Kubernetes 的三大可插拔接口,体现了其“核心保持中立、生态各自竞争”的架构哲学。

登录 后参与讨论
暂无讨论,来发表第一条评论吧