CRI
简介
Kubernetes 运行时是支持容器运行时接口(CRI) 的高级容器运行时,CRI 在 Kubernetes 1.5 中引入,并且充当 kubelet 和容器运行时之间的桥梁,并且希望像 Docker、containerd 这样的高级容器运行时实现 CRI 接口。
预期容器运行时支持镜像管理并且支持 Kubernetes Pod,并管理各个容器,所以从要求中也能看出来 Kubernetes 运行时要求的必须是 high-level 运行时,low-level 运行时缺少必要的功能。
为了了解更多关于 CRI 的知识,有必要了解 Kubernetes 的架构,Kubelet 是一个位于 Kubernetes 集群中每个工作节点上的代理,Kubelet 负责管理节点的容器工作负载,在实际运行中,kubelet 使用 CRI 在同一节点上运行的容器运行时进行通信,有个 CRI 这个抽象层,我们可以随时将实际的容器运行时切换到其他实现了 CRI 接口的容器运行时,而不必局限某一种容器运行时,也不必内置于 kubelet 中。
kubernetes 中关于 CRI 架构图