在containerd,将 ‘ctr image‘ 转换成 ‘crictl image‘

1、使用ctr导入镜像
ctr image import dashboard.tar

#查询镜像,为什么没有刚才导入的镜像?
crictl images

2、原因分析
ctr是containerd自带的工具,有命名空间的概念,若是k8s相关的镜像,都默认在k8s.io这个命名空间,所以导入镜像时需要指定命令空间为k8s.io

#使用ctr命令指定命名空间导入镜像
ctr -n=k8s.io image import dashboard.tar

#查看镜像,可以看到可以查询到了
crictl images


ctr 是 containerd 的一个客户端工具。
crictl 是 CRI 兼容的容器运行时命令行接口,可以使用它来检查和调试 k8s 节点上的容器运行时和应用程序。
ctr -v 输出的是 containerd 的版本,crictl -v 输出的是当前 k8s 的版本,从结果显而易见你可以认为 crictl 是用于 k8s 的。

一般来说某个主机安装了 k8s 后,命令行才会有 crictl 命令。而 ctr 是跟 k8s 无关的,主机安装了 containerd 服务后就可以操作 ctr 命令。

​​​​​​​===============================================

# docker镜像 迁移 ctr
docker save -o o.tar tensorflow/tensorflow:2.2.3-gpu-py3
# ctr导入镜像 不支持 build, commit 镜像
ctr -n k8s.io i  import  o.tar
ctr -n default i  import  o.tar

===============================================

或者将image是从一台机器上的image迁移到另一台机器上
###  Convert 'ctr image' to 'crictl image'

## pull image
ctr image pull k8s.gcr.io/prometheus-adapter/prometheus-adapter:v0.9.1
ctr image pull k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.3.0
or 
crictl pull k8s.gcr.io/prometheus-adapter/prometheus-adapter:v0.9.1
ctr image pull k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.3.0

#export image
ctr image export adapter.tar k8s.gcr.io/prometheus-adapter/prometheus-adapter:v0.9.1
ctr image export metrics.tar k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.3.0

#After migrating to the specified server, distribute the image to each Node
ansible kube-node -i ~/kubespray/inventory/sdan_cluster/hosts.ini -m copy -a 'src=/root/images/adapter.tar dest=/root/ owner=root group=root mode=0644'
ansible kube-node -i ~/kubespray/inventory/sdan_cluster/hosts.ini -m copy -a 'src=/root/images/metrics.tar dest=/root/ owner=root group=root mode=0644'

#import image
ansible kube-node -o -i ~/kubespray/inventory/sdan_cluster/hosts.ini -m command -a "ctr -n=k8s.io image import /root/adapter.tar"
ansible kube-node -o -i ~/kubespray/inventory/sdan_cluster/hosts.ini -m command -a "ctr -n=k8s.io image import /root/metrics.tar"

===============================================

##要下载镜像的名称,可以通过 kubeadm config images list命令获取
kubeadm config images list --kubernetes-version=v1.15.2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络飞鸥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值