k8s 1.28 calico-nod 节点无法使用本地镜像

看来一圈抄来抄去的陈年老博客,还不如看博客评论区。
yaml文件的imagePullPolicy的IfNotPresent改为Never 没啥事用,本地存在镜像,kubectl还是选择去阿里代理仓拉取,尴尬的是calico 是从github下载的release-v3.26.4,阿里云镜像代理仓没有这个版本。

nerdctl pull docker.io/calico/cni:v3.26.4

### 报错
unknown-sha256:d6b79c851f45fc1e54a988376788873b2deb3f8f486e400fbb433e64d6647501: downloading    |--------------------------------------|    0.0 B/119.1 KiB
elapsed: 20.7s                                                                   total:   0.0 B (0.0 B/s)      
WARN[0020] reference for unknown type: text/html
FATA[0020] failed to unpack image on snapshotter overlayfs: unexpect

镜像上传到私有仓

自建registry

  1. 需要使用https协议,配置http协议麻烦,放弃

使用阿里云免费提供的自建registry

  1. 将镜像tag之后上传到对应registry仓库
  2. 修改calico.yaml
    (注:执行任何复制的命令之前,必须要知道每条命令作用,不然服务都不知道咋挂的)
cp calico.yaml calico.yaml.bak
sed -i 's/docker.io\/calico/registry.cn-shenzhen.aliyuncs.com\/xxxxxx/g' calico.yaml
rm -rf /var/lib/cni/
kubectl delete -f  calico.yaml
kubectl create -f calico.yaml

posted @ 2024-01-18 20:28  YueQAQ  阅读(223)  评论(0编辑  收藏  举报