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等。
相关推荐
Ribou2 小时前
Ubuntu 24.04.2安装k8s 1.33.4 配置cilium
linux·ubuntu·kubernetes
慕容晓开2 小时前
docker,本地目录挂载
docker
Mr. Cao code3 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器
Dontla3 小时前
Docker多共享网络配置策略(Docker多网络、Docker networks、Docker Compose网络、Docker网络、Docker共享网络)
网络·docker·容器
Jayin_chan4 小时前
paddlex3.0.1-ocr服务化安装部署(docker)
docker·容器·ocr
ifanatic5 小时前
[每周一更]-(第159期):Go 工程师视角:容器化技术(Docker/Kubernetes)与CI/CD流程的应用场景
docker·golang·kubernetes
感哥6 小时前
Docker镜像
docker
Dontla6 小时前
Dockerfile解析器指令(Parser Directive)指定语法版本,如:# syntax=docker/dockerfile:1
java·docker·eureka
楠神说软件测试9 小时前
Docker命令(全)
docker
LuiChun9 小时前
docker desktop更新到【4.45.0 】后,旧容器镜像都丢失了
docker·容器·dubbo