docker镜像导入到containerd

Kubernetes / 2022-12-12

k8s 容器管理由docker换成containerd后,镜像导入问题

docker save <image:tag> -o <name>.tar

导入

ctr -n k8s.io image import <name>.tar

查看

ctr image ls
# or
crictl image

问题一:导入报错ctr: image might be filtered out

问题是由于你的镜像版本不兼容,docker镜像原本是由MacOS M1下载,导出后不能供x86服务器使用。

问题二:导入后crictl查询不到

-n k8s.io 是因为ctr有命名空间概念,如果指定命名空间不能被crictl image查询到,也就不能被k8s所用。
ctr:是containerd本身的CLI
crictl :是Kubernetes社区定义的专门CLI工具