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等。
相关推荐
阿标在干嘛1 天前
从物理机到K8s:政策快报平台的容器化部署实践
云原生·容器·kubernetes
IT瑞先生1 天前
docker-compose下快速部署实操——持续更新...
运维·docker·容器
张青贤1 天前
Centos7离线部署K8s集群V1.28.8
云原生·容器·kubernetes·containerd·kubekey·离线部署
晴空了无痕1 天前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
爱码少年1 天前
Docker遍历镜像生成导出镜像命令六法
docker·shell
探索云原生1 天前
Kubernetes 官方出品:一个 Controller 搞定 Job 排队和资源配额
ai·云原生·kubernetes·scheduler
BullSmall1 天前
Sonarqube9.9 docker 镜像启动后 conf 下的配置文件没有了
docker·容器·eureka
ruofu331 天前
wsl端是py312,但是项目是py311, 如何下载py311的依赖包(wheels)
python·docker
spider_xcxc1 天前
Docker 实战:容器化多服务应用,Dockerfile 与 Compose 配置全解析
docker·云原生·eureka·虚拟化·容器化
hay_lee1 天前
Kubernetes StatefulSet:OrderedReady 极简指南
云原生·容器·kubernetes