k3s deploy部署问题

各位大佬,机器装了docker和k3s,用docker构建了一个demo镜像。
然后用k3s部署deploy的时候镜像image填的docker里的镜像demo,容器启动报错:errImgpull。看日志是从远程拉的,但是我把imagepullpolicy设置为never还是不行,这个咋解决啊?

有没有可能,k3s的镜像有命名空间的概念,所以和docker不通,crictl好像默认就是k8s命名空间,你可以用nerctrl或者ctr看看


image
给你附上下载地址 Release v1.7.5 · containerd/nerdctl (github.com)

1 个赞

软件开发快问快答

1 个赞

那只能把镜像推到公共仓库了吗?

因为k3s用的不是docker做运行时,所以k3s里面看不到docker镜像,你可以在启动的时候指定docker为运行时

1 个赞

不用,直接镜像打包本地然后又用crictl导入

1 个赞

你也可以把你运行时接口切换去调用docker就可以看见,不然虽然都是调用containerd但是镜像还是分开的
runtime-endpoint: unix:///run/k3s/cri-dockerd/cri-dockerd.sock
runtime-endpoint: unix:///run/k3s/containerd/containerd.sock

他们Containerd用的都不是同一个,命名空间一样也看不到。可以借助nerdctl -a 指定一下后端地址。建议还是push到docker镜像仓库上,方便维护