containerd、cri-o?容器运行时?containerd、cri-o?
容器运行时负责根据镜像与配置创建、启停、删除容器进程与隔离环境(命名空间、cgroup、rootfs 等)。Kubernetes 通过 CRI(Container Runtime Interface)与运行时对接,不直接绑死某一实现。
containerd:由 Docker 捐出、CNCF 毕业项目,工业级容器运行时。负责镜像拉取与存储、容器生命周期、网络 namespace 等;不包含构建与高层 API,常与 runc 配合做实际「跑容器」的 OCI 实现。K8s 通过 CRI 插件(containerd 内嵌 cri)对接,kubelet 可直连 containerd,无需 Docker daemon,路径更短、资源占用更小,当前主流选择。
CRI-O:轻量、专注 K8s CRI,只做「跑 Pod/容器」所需的最小集合:镜像拉取、存储、OCI 运行时(runc 等)。无 Docker 兼容层、无构建,与 K8s 绑定紧,Red Hat/OpenShift 系常用。与 containerd 相比:都符合 CRI/OCI,containerd 生态与第三方集成更广,CRI-O 更偏「仅 K8s」的极简运行时。
| 返回模块 | 返回总览 |