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等。
相关推荐
Java陈序员1 小时前
再见 Navicat!一款开源的 Web 数据库管理工具!
java·react.js·docker
有个傻瓜3 小时前
PHP语言核心技术全景解析
开发语言·kubernetes·php
幻灭行度4 小时前
CKA考试知识点分享(2)---ingress
kubernetes
MickeyCV13 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
棠十一13 小时前
Rabbitmq
分布式·docker·rabbitmq
藥瓿亭14 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_8097983214 小时前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
嵌入式大圣14 小时前
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
运维·docker·容器
孔令飞15 小时前
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
ai·云原生·容器·golang·kubernetes
极简网络科技16 小时前
Docker、Wsl 打包迁移环境
运维·docker·容器