解决k8s 1.26版本拉取harbor失败
在k8s 1.26的版本以后 就不在使用docker了
而是使用containerd
当拉取失败的时候,使用crictl pull拉取镜像
下面的地址是harbor仓库的地址
crictl pull 192.168.10.108:80/public/kucun:0.1
Normal Scheduled 14s default-scheduler Successfully assigned dev/kucun-6d855688c9-clclk to n1
Normal BackOff 12s (x2 over 13s) kubelet Back-off pulling image "192.168.10.108:80/public/kucun:0.1"
Warning Failed 12s (x2 over 13s) kubelet Error: ImagePullBackOff
Normal Pulling 1s (x2 over 14s) kubelet Pulling image "192.168.10.108:80/public/kucun:0.1"
Warning Failed 1s (x2 over 14s) kubelet Failed to pull image "192.168.10.108:80/public/kucun:0.1": rpc error: code = Unknown desc = failed to pull and unpack image "192.168.10.108:80/public/kucun:0.1": failed to resolve reference "192.168.10.108:80/public/kucun:0.1": failed to do request: Head "https://192.168.10.108:80/v2/public/kucun/manifests/0.1": http: server gave HTTP response to HTTPS client
Warning Failed 1s (x2 over 14s) kubelet Error: ErrImagePull
所有的k8s机器节点,都要修改
比如你的k8s有3台机器,那么就配置3台机器
对下面的文件进行复制一份,然后再修改
cp /etc/containerd/config.toml /etc/containerd/config1.toml
vi /etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.10.108:80".tls] #新增加的
insecure_skip_verify = true #新增加的
[plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.10.108:80".auth] #新增加的
username = "admin" #新增加的
password = "Harbor12345" #新增加的[plugins."io.containerd.grpc.v1.cri".registry.headers]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.10.108:80"] #新增加的
endpoint = ["http://192.168.10.108:80"] #新增加的
修改下面的 新增加的内容

然后重启containerd
systemctl restart containerd
在次使用crictl pull拉取,如果成功,那么我们的pod 就可以重新拉取到harbor的仓库的内容了
crictl pull 192.168.10.108:80/public/kucun:0.1
更多推荐
所有评论(0)