# 再见 Docker!5分钟转型 containerd
- containerd是一个工业级标准的容器运行时,它强调
简单性、健壮性和可移植性。 - containerd可以在宿主机中管理完整的容器生命周期,包括容器镜像的传输和存储、容器的执行和管理、存储和网络等。
# K8S CRI
- K8S发布CRI(Container Runtime Interface),统一了容器运行时接口,凡是支持CRI的容器运行时,皆可作为K8S的底层容器运行时。
- K8S为什么要放弃使用Docker作为容器运行时,而使用containerd呢?
- 如果你使用Docker作为K8S容器运行时的话,kubelet需要先要通过dockershim去调用Docker,再通过Docker去调用containerd。
- 如果你使用containerd作为K8S容器运行时的话,由于containerd内置了CRI插件,kubelet可以直接调用containerd。
# 使用
其实只要把我们之前使用的docker命令改为crictl命令即可操作containerd,比如查看所有运行中的容器;
# 查看所有运行中的容器
crictl ps
# 查看所有镜像;
crictl images
# 进入容器内部执行bash命令,这里需要注意的是只能使用容器ID,不支持使用容器名称;
crictl exec -it a5e34c24be371 /bin/bash
# 查看容器中应用资源占用情况,可以发现占用非常低。
crictl stats
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11