网站首页 > 技术文章 正文
使用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,详细教程
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)