场景描述
- 私有镜像仓库:http://172.16.30.56
- kubernete集群使用的是containerd
kubernete集群中部署服务时,报错:
Error: ImagePullBackOff
kubernetes拉取私有Harbor仓库镜像配置说明
harbor检查
确保私有harbor能正常访问,能正常推送镜像:
-
页面访问正常
-
docker获取镜像正常
containerd的配置检查
使用私有harbor,containerd需要配置仓库信任。
- 检查是否有做私有仓库信任
ls /etc/containerd/certs.d/
检查得出没有配置私有harbor的仓库信任。
2. 配置harbor仓库信任
mkdir /etc/containerd/certs.d/sit-meta-harbor
vi /etc/containerd/certs.d/sit-meta-harbor/hosts.toml
server = "http://172.16.30.56:80"
[host."http://172.16.30.56:80"]
capabilities = ["pull", "resolve", "push"]
skip_verify = true
- 重新启动containerd
systemctl restart containerd.service
- 拉去镜像验证
第一次检查无镜像
ctr image ls -q
拉去镜像,带上harbor登录的账户密码
ctr image pull --plain-http=true -u admin:密码 172.16.30.56/sit-meta/sit-meta-api:6
再次检查则会有刚拉的镜像
ctr image ls -q