一、背景
Docker是最早在市场上出现的
1、Docker
- docker-cli:docker命令行工具
- containerd:管理和运行容器的守护进程,推送和拉取镜像,管理存储和网络并监督容器的运行
- runc:真正创建和运行容器的组件
2、Kubernetes
后来Kubernetes出来了,而在Kubernetes早期,由于Docker并没有实现CRI接口,为了能够支持Docker,Kubernetes开发了一个插件,叫dockershim
,这样就将Docker硬编码到Kubernetes中了
但随着容器化的发展,Kubernetes项目认为不应该依赖于特定的容器运行时,于是设计出了CRI接口(Container Runtime Interface)
在Kubernetes v1.24
版本中,Kubernetes删除了dockershim
,这样用户就可以选择自己喜欢的容器运行时(前提是每个容器运行时厂商必须要实现自己的CRI接口规范)
二、Kubernetes与Docker与底层交互机制
扫描二维码,分享此文章