# 再见 Docker!5分钟转型 containerd

返回:服务器server

  • 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