容器日志及相关参数

对比项 docker containerd
存储路径 docker作为k8s容器运行时的情况下,容器日志的落盘由docker来完成, 保存在类似/var/lib/docker/containers/$CONTAINERID目录下。kubelet会在/var/log/pods/var/log/containers下面建立软链接,指向/var/lib/docker/containers/$CONTAINERID目录下的容器日志文件 containerd作为k8s容器运行时的情况下, 容器日志的落盘由kubelet来完成,保存到/var/log/pods/$CONTAINER_NAME目录下,同时在/var/log/containers目录下创建软链接,指向日志文件
配置参数 在docker配置文件中指定: “log-driver”: “json-file”, “log-opts”: {“max-size”: “100m”,”max-file”: “5”} 方法一:在kubelet参数中指定: —container-log-max-files=5 —container-log-max-size=”100Mi” 方法二:在KubeletConfiguration中指定: “containerLogMaxSize”: “100Mi”, “containerLogMaxFiles”: 5,
把容器日志保存到数据盘 把数据盘挂载到”data-root”(缺省是/var/lib/docker)即可 创建一个软链接/var/log/pods指向数据盘挂载点下的某个目录 在TKE中选择”将容器和镜像存储在数据盘”,会自动创建软链接/var/log/pods

ctr常用命令

功能 docker 命令 containerd 命令
获取image信息 docker images ctr image ls
pull 一个nginx的image docker pull nginx ctr image pull nginx
tag 一个nginx的image docker tag nginx nginx-test ctr image tag nginx nginx-test
push nginx-test的image docker push nginx-test ctr image push nginx-test
pull 一个nginx的image docker pull nginx ctr image pull nginx
导入本地镜像ctr不支持压缩 docker load<nginx.tar.gz ctr image import nginx.tar
运行的一个容器 docker run -d —name=nginx nginx-test ctr run -d —env 111 nginx-test nginx
查看运行的容器 docker ps ctr task ls

crictl常用命令

containerd不支持docker API和docker CLI, 但是可以通过cri-tool实现类似的功能。

1. 镜像相关功能

镜像相关功能 docker containerd
显示本地镜像列表 docker images crictl images
下载镜像 docker pull crictl pull
上传镜像 docke push
删除本地镜像 docker rmi crictl rmi
查看镜像详情 docker inspect crictl inspecti

2. 容器相关功能

容器相关功能 docker containerd
显示容器列表 docker ps crictl ps
创建容器 docker create crtctl create
启动容器 docker start crtctl start
停止容器 docker stop crictl stop
删除容器 docker rm crictl rm
查看容器详情 docker inspect crictl inspect
attach docker attach crictl attach
exec docker exec crictl exec
logs docker logs crictl logs
stats docker stats crictl stats

3. POD相关功能

POD相关功能 docker containerd
显示POD列表 crictl pods
查看POD详情 crictl inspectp
运行POD crictl runp
停止POD crictl stopp

参考

  • 视频

腾讯视频:介绍:containerd——Derek McGowan
https://v.qq.com/x/page/q0793qeuqsl.html
腾讯视频:深入了解:containerd——Derek McGowan
https://v.qq.com/x/page/t07934oebiu.html
腾讯视频:简介+深入了解:containerd
https://v.qq.com/x/page/x0877dy5rj6.html
腾讯视频:简介:containerd
https://v.qq.com/x/page/j0816srf3dt.html
腾讯视频:containerd介绍
https://v.qq.com/x/page/e0727aju2je.html
腾讯视频:深入了解:containerd
https://v.qq.com/x/page/d0824687yy5.html
腾讯视频:介绍:containerd的现状
https://v.qq.com/x/page/r3130nuk89l.html
腾讯视频:containerd,这对我来讲是什么意思(任何技术水平)
https://v.qq.com/x/page/x0664ka2vh6.html
腾讯视频:扩展containerd
https://v.qq.com/x/page/h302998qc33.html
腾讯视频:不仅仅是安全:Containerd
https://v.qq.com/x/page/h0794un8to6.html
腾讯视频:containerd - 构建容器 supervisor
https://v.qq.com/x/page/q0314svqva0.html
腾讯视频:containerd小型峰会
https://v.qq.com/x/page/y303060cxzh.html
腾讯视频:containerd-Google;傅伟,Alibaba
https://v.qq.com/x/page/i0893nv0r81.html
腾讯视频:K8s从Docker迁移到containerd的经验教训
https://v.qq.com/x/page/d0877u82hmh.html
腾讯视频:嵌入containerd运行环境获得乐趣和利润
https://v.qq.com/x/page/a0711uqpk6y.html
Opentalk直播:containerd上手实践
https://shangzhibo.tv/watch/10226294?lang=zh-cn

  • 博文

DockOne.io:容器运行时从Docker到containerd的迁移
http://dockone.io/m/article/9149
腾讯云:(译)Kubernetes containerd集成进入GA阶段
https://cloud.tencent.com/developer/article/1469622