containerd
开源容器运行时,最初由Docker开发,后捐赠给CNCF,被Kubernetes等项目广泛采用作为底层容器运行时
核心事实
时间轴 (近 90 天)
容器运行时(如 containerd、CRI-O)负责拉取镜像、创建命名空间、挂载文件系统,让容器里的进程以为自己独占一台机器。
在containerd模板中注册nvidia运行时需设置runtime_type为"io.containerd.runc.v2",BinaryName为"/usr/bin/nvidia-container-runtime"。
K3s的containerd配置文件位于/var/lib/rancher/k3s/agent/etc/containerd/config.toml,直接编辑会被K3s重启覆盖,应使用.tmpl模板扩展机制。
NVIDIA Container Toolkit的作用是让containerd能将宿主机GPU设备注入OCI容器规格。
K3s内置的containerd运行时默认不会将宿主机的PCI硬件(如NVIDIA GPU)暴露给容器。
Podman、containerd等开源容器运行时也在积极适配WSL环境
runc是OCI Runtime Spec的参考实现,containerd和CRI-O在其上封装了镜像管理和生命周期管理能力
Docker 底层的 containerd 运行时已被 Kubernetes 等项目广泛采用
containerd 最初从 Docker 架构中拆分出来,目前由 CNCF 托管并已毕业;CRI-O 由 Red Hat 主导开发,不支持 Docker 独有的 API
containerd 已成为 CNCF(云原生计算基金会)的毕业项目,被 Kubernetes 等编排系统广泛采用
还有 9 条时间轴事件
全部知识事实 (20)
容器技术(以Docker为代表)利用Linux内核的namespace机制实现进程、网络、文件系统隔离,借助cgroups限制CPU、内存等资源用量
80%待验证容器运行时(如 containerd、CRI-O)负责拉取镜像、创建命名空间、挂载文件系统,让容器里的进程以为自己独占一台机器。
50%待验证K3s的containerd配置文件位于/var/lib/rancher/k3s/agent/etc/containerd/config.toml,直接编辑会被K3s重启覆盖,应使用.tmpl模板扩展机制。
50%待验证在containerd模板中注册nvidia运行时需设置runtime_type为"io.containerd.runc.v2",BinaryName为"/usr/bin/nvidia-container-runtime"。
50%待验证K3s内置的containerd运行时默认不会将宿主机的PCI硬件(如NVIDIA GPU)暴露给容器。
50%待验证NVIDIA Container Toolkit的作用是让containerd能将宿主机GPU设备注入OCI容器规格。
50%待验证Podman、containerd等开源容器运行时也在积极适配WSL环境
50%待验证runc是OCI Runtime Spec的参考实现,containerd和CRI-O在其上封装了镜像管理和生命周期管理能力
50%待验证Docker 底层的 containerd 运行时已被 Kubernetes 等项目广泛采用
50%待验证containerd 最初从 Docker 架构中拆分出来,目前由 CNCF 托管并已毕业;CRI-O 由 Red Hat 主导开发,不支持 Docker 独有的 API
50%待验证Docker 的底层运行时已从最初的 LXC 迁移到自研的 containerd 和 runc
50%待验证containerd 已成为 CNCF(云原生计算基金会)的毕业项目,被 Kubernetes 等编排系统广泛采用
50%待验证Docker 镜像格式已被 OCI(Open Container Initiative)标准化,通过 Docker 构建的镜像可以在 Podman、containerd 等替代容器运行时上运行
50%待验证Docker的核心容器运行时最终被CNCF基金会托管的containerd所替代
50%待验证Docker底层依赖containerd作为高级运行时,再由containerd调用runc完成容器创建
50%待验证现代容器运行时分为高级运行时(如containerd、CRI-O)和低级运行时(如runc)两层
50%待验证2015年Docker将其核心运行时组件拆分捐赠给CNCF,形成独立的containerd项目
50%待验证runc本身约10MB,containerd约50MB,完整的Docker引擎超过200MB
50%待验证容器运行时通常分为高级运行时(如containerd、CRI-O)和低级运行时(如runc)两层,低级运行时直接调用Linux内核的namespace和cgroup机制实现进程隔离和资源限制
50%待验证Docker 镜像遵循 OCI 标准,任何兼容 OCI 的运行时(如 containerd、CRI-O)都可以运行 Docker 构建的镜像
50%