网站首页 > 技术文章 正文
使用crictl工具管理
# 下载地址 如果环境安装K8S不需要单独安装
VERSION="v1.26.0" # check latest version in /releases page
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
rm -f crictl-$VERSION-linux-amd64.tar.gz
# 配置文件
cat > /etc/crictl.yaml <<EOF
runtime-endpoint: unix:///var/run/containerd/containerd.sock
image-endpoint: unix:///var/run/containerd/containerd.sock
timeout: 10
debug: false
pull-image-on-create: false
EOF
# 生效配置
systemctl daemon-reload
命令介绍
同docker对比介绍
docker | crictl | 描述 |
docker ps | crictl ps | 查看容器列表 |
docker inspect | crictl inspect | 查看容器详情 |
docker logs | crictl log | 查看容器日志 |
docker exec | crictl exec | 容器内执行命令 |
docker create | crictl create | 创建容器 |
docker start | crictl start | 启动容器 |
docker stop | crictl stop | 停止容器 |
docker rm | crictl rm | 删除容器 |
docker attach | crictl attach | 挂载容器 |
docker stats | crictl stats | 显示容器情况 |
docker pull | crictl pull | 拉取镜像 |
docker push | 无 | 推送镜像 |
docker rmi | crictl rmi | 删除镜像 |
docker images | crictl images | 查看镜像列表 |
docker inspect | crictl inspecti | 镜像详细 |
docker load | 无 | 导入 |
docker save | 无 | 导出 |
无 | crictl pods | Pod列表 |
无 | crictl inspectp | Pod详细 |
无 | crictl runp | 启动pod |
无 | crictl stop | 停止pod |
对于ctr和crictl使用注意的地方
crictl 是遵循 CRI 接口规范的一个命令行工具,通常用它来检查和管理kubelet节点上的容器运行时和镜像。
ctr 是 containerd 的一个客户端工具。
ctr -v 输出的是 containerd 的版本,crictl -v 输出的是当前 k8s 的版本,
你可以认为 crictl 是用于 k8s 的,但是由于ctr命令用着不放面,索引推荐使用crictl
ctr客户端 主要区分了3个命名空间分别是k8s.io、moby和default,
我们用crictl操作的均在k8s.io命名空间,
ctr images pull 拉取的镜像默认放在default,而crictl pull 和 kubelet 默认拉取的镜像都在 k8s.io 命名空间下。所以通过ctr导入镜像的时候特别注意一点,最好指定命名空间。
如果不使用k8s,只使用容器又想有类似于docker的完整功能,推荐使用nerdctl工具代替ctr。
使用crictl报错
crictl执行命令报如下错,基本就是缺少配置文件那步。
crictl ps -a
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.
ERRO[0000] validate service connection: validate CRI v1 runtime API for endpoint "unix:///var/run/dockershim.sock": rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial unix /var/run/dockershim.sock: connect: no such file or directory"
WARN[0000] image 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.
ERRO[0000] validate service connection: validate CRI v1 image API for endpoint "unix:///var/run/dockershim.sock": rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial unix /var/run/dockershim.sock: connect: no such file or directory"
- 上一篇: 分类总结53个常用的Docker命令
- 下一篇: docker容器常用命令汇总
猜你喜欢
- 2025-01-06 工作中必须掌握的docker知识
- 2025-01-06 linux下面安装docker
- 2025-01-06 docker常用指令及安装rabbitMQ
- 2025-01-06 Docker容器的基本介绍及使用
- 2025-01-06 docker -k8s
- 2025-01-06 (干货)Docker 快速入门,对比KVM有什么区别?如何安装与配置?
- 2025-01-06 Docker实践:Docker日常中的一些技巧
- 2025-01-06 Lazy系列:另一个很酷的终端界面工具lazydocker
- 2025-01-06 「云原生」镜像构建实战操作(Dockerfile)
- 2025-01-06 docker容器安装与部署,常用命令、容器卷、dockerfile,详细教程
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 527℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 492℃MySQL service启动脚本浅析(r12笔记第59天)
- 472℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 469℃启用MySQL查询缓存(mysql8.0查询缓存)
- 450℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 429℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 426℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)