CRI(Container Runtime Interface)和OCI(Open Container Initiative)是Kubernetes容器生态的两个核心标准:
CRI(容器运行时接口):是Kubernetes定义的一组gRPC接口,规范了Kubelet如何与容器运行时通信。包括两套接口:容器和Sandbox的生命周期管理(RunPodSandbox、CreateContainer、StartContainer等)和镜像操作。实现了CRI的运行时称为高级容器运行时(如Containerd、CRI-O)。
OCI(开放容器标准):定义了容器的底层规范,包含三个部分:运行时规范(容器如何create/start/stop/delete)、镜像规范(镜像格式和结构)、分发规范(镜像如何分发和获取)。实现了OCI的称为基础容器运行时(如Runc)。
关系:CRI是上层标准(Kubelet→高级运行时),OCI是底层标准(高级运行时→基础运行时)。例如:Kubelet通过CRI调用Containerd,Containerd再通过OCI调用Runc来实际创建容器。两者共同构成了Kubernetes容器领域的完整规范体系。




