CRI containerd
Preface
kubernets1.20.0后由于docker作为CRI需要做大量的兼容,已考虑弃用使用containerd作为CRI,docker技术也是对contained的包装
docker-ce-19.03.15版本对应的containerd版本为 containerd.io-1.4.6
containerd作为 CNCF 毕业项目, 致力于提供简洁、可靠、可扩展的容器运行时;它被设计用来集成到 kubernetes 等系统使用,而不是像 docker 那样独立使用
# env
CentOS Linux release 7.9.2009 (Core) mininal install
- 二进制安装 Containerd
1 下载
wget https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.2.4.linux-amd64.tar.gz
2 安装与启动
dnf install libseccomp-2.3.1-4.el7.x86_64 # 安装libseccomp.so
tar --no-overwrite-dir -C / -xzf cri-containerd-1.2.4.linux-amd64.tar.gz
systemctl start containerd && systemctl status containerd
3 使用crictl调试containerd
crictl 为 CRI 兼容的容器运行时提供 CLI
3.1 安装 crictl
VERSION="v1.21.0"
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz
sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
3.2 简单使用
crictl ps
crictl pods
crictl pods --name nginx-65899c769f-wv2gp
crictl pods --label run=nginx
命令 | docker | crictl |
---|---|---|
查看容器列表 | docker ps | crictl ps |
查看容器详情 | docker inspect | crictl inspect |
查看容器日志 | docker logs | crictl logs |
容器内执行命令 | docker exec | crictl exec |
挂载容器 | docker attach | crictl attach |
容器资源使用 | docker stats | crictl stats |
创建容器 | docker create | crictl create |
启动容器 | docker start | crictl start |
停止容器 | docker stop | crictl stop |
删除容器 | docker rm | crictl rm |
查看镜像列表 | docker images | crictl images |
查看镜像详情 | docker inspect | crictl inspecti |
拉取镜像 | docker pull | crictl pull |
推送镜像 | docker push | 无 |
删除镜像 | docker rmi | crictl rmi |
查看Pod列表 | 无 | crictl pods |
查看Pod详情 | 无 | crictl inspectp |
启动Pod | 无 | crictl runp |
停止Pod | 无 | crictl stopp |
3.3 运行pod沙盒调试
https://kubernetes.io/zh/docs/tasks/debug-application-cluster/crictl/
PS:
https://containerd.io/docs/
https://github.com/containerd/containerd/blob/master/docs/man/containerd-config.toml.5.md
containerd简述
containerd与kubernetes集成部署