K8S疑难概念理解——容器运行时。CRI实现从Docker切为containerd历史

  • 早期版本的k8s直接使用了docker部分功能,比如容器的创建、运行、监控、停止、销毁等,这一些与容器生命周期相关的逻辑实现就可称之为容器运行时
  • k8s意识到docker过于笨重,如docker-cli,docker swarm等组件k8s都用不上,那么能不能只要docker容器运行时这部分逻辑呢?于是K8S就把docker容器运行时(容器的创建、运行、监控、停止、销毁等实现)抽取为容器运行时接口CRI(Container Runtime Interface),也就是说容器运行时是CRI的具体实现。k8s为了让抽取的CRI更具有通用性,但这样就与docker有些对接不上了,于是k8s做了一个适配器dockershim。 Docker的容器运行时为初中期K8S版本默认的容器运行时,1.20版本dockershim被标记废弃,1.24移除,1.24后续版本切换轻量级的containerd为默认容器运行时实现了瘦身,并移除dockershim(意味着再想使用docker容器运行时安装会更复杂)。
  • CRI接口的抽取与开源迎来了百花齐放,目前开源的容器运行时还有CRI-O,rkt,Kata Containers等。
相关推荐
张忠琳8 小时前
【containerd 2.1.8】(Part 1)containerd 2.1.8 超深度源码分析 — 总体架构与模块全景
云原生·kubernetes·containerd
正经教主12 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
鹤鸣的日常13 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
Waay13 小时前
K8s ETCD 详解|备份恢复+静态Pod原理+kubectl查询底层流程(面试必考)
面试·kubernetes·etcd
松岩14 小时前
dcgm-exporter部分指标
kubernetes
我是谁??16 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
Patrick_Wilson16 小时前
K8s 探针避坑:Next.js 不同部署模式下的健康检查实践
kubernetes·node.js·next.js
运维瓦工17 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
云烟成雨TD17 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
Plastic garden17 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes