《Kubernetes命令篇:Containerd常用操作》

一、Containerd常用命令

说明:kubernetes 1.24.x及以后版本默认CRI为containerd,cri称之为容器运行时插件。其中ctr是containerd自带的CLI命令行工具,crictl是k8s中CRI(容器运行时接口)的客户端,k8s使用该客户端和containerd进行交互。

说明:执行crictl ps命令报错WARN[0000] runtime connect using default endpoints: [unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead。

这是因为你只装了containerd,而你使用crictl时候,crictl不知道你的默认的运行时是谁,到底是docker呢,还是containerd呢,还是crio呢,所以crictl根本不知情,导致出现错误。通过上述错误,发现默认配置目前已经被遗弃,所以你需要手动指定你的容器运行时。

解决方法,如下所示:

root@k8s-master-62:~# crictl config runtime-endpoint unix:///run/containerd/containerd.sock
root@k8s-master-62:~# crictl config image-endpoint unix:///run/containerd/containerd.sock

ctr和crictl命令具体区别如下:

命令 ctr crictl
查看运行的容器 ctr container ls crictl ps
查看镜像 ctr image ls crictl images
查看容器日志 crictl logs 容器ID
查看容器数据信息 ctr container info 容器ID crictl inspect 容器ID
查看容器资源信息 crictl stats
启动/关闭已有的容器 ctr task start/kill 容器ID crictl start/stop 容器ID
运行一个新的容器 ctr run 无(最小单元为 pod)
修改镜像标签 ctr image tag
创建一个新的容器 ctr container create crictl create
导入镜像 ctr image import
导出镜像 ctr image export
删除容器 ctr container rm 容器ID crictl rm 容器ID
删除镜像 ctr image rm 镜像ID crictl rmi 镜像ID
拉取镜像 ctr image pull ctictl pull
推送镜像 ctr image push
在容器内执行命令 crictl exec

注意:kcontainerd为runc时,标准输出(stdout)的日志文件存放/var/log/containers目录下。如下图所示:

《Kubernetes命令篇:Containerd常用操作》_第1张图片


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:企业级K8s集群运维实战

你可能感兴趣的:(《企业级K8s集群运维实战》,kubernetes,运维)