0
点赞
收藏
分享

微信扫一扫

k8s集群拉取镜像报错:not exist or may require docker login


前提

新启动一个Rancher管理集群,将原有集群作为资源集群加入Rancher管理集群,提升集群稳定性和安全性。集群合并调整期间顺利完成,集群升级完成后,原Rancher集群升级业务服务时发现报错如下:

ErrImagePull: rpc error: code = Unknown desc = Error response from daemon: pull access denied for reg.itsiv.com/lingxi/develop/lingxi-agent, repository does not exist or may require 'docker login'

解决办法:

根据报错内容基本可以识别问题,集群无法正常拉取公司镜像仓库镜像文件报错!出现此类问题要不连不上镜像仓库,要不下载镜像文件使用的登陆用户密码不对。因为公司其他项目可以正常拉取镜像,基本可以断定为拉取镜像账户密码不对导致。简要整理处理办法如下:

1:纯docker环境

如果纯docker环境只需要执行:

docker login -u reg-user -p 123 reg.itsiv.com
docker login -u 仓库用户 -p 密码 仓库地址

2:kubernetes 集群环境

如果问题出现在k8s集群环境比docker环境处理略复杂,需要在服务运行namespace新建一个秘钥解决问题,创建命令如下:

创建secret

kubectl --namespace ip \
create secret docker-registry regitsiv \
--docker-server=reg.itsiv.com \
--docker-username=reguser \
--docker-password=123 \
--docker-email=reguser@itsiv.com

#解释
​​​参考原站信息​​

查看secret详细信息

通过以下命令可以查看特定secrets的详细信息。
​​​参考原站信息​​

修改secret信息

在secrets创建后可以修改一些内容,但不能修改Namespace。
​​​参考原站信息​​

更新服务拉取镜像秘钥信息

服务如果已经迁移至新集群,发现镜像无法下载,可以先咋对应空间创建秘钥信息,然后使用打补丁的方式为服务配置拉取镜像的秘钥信息。
​​​参考原站信息​​以上命令意思是,在ip这个Namespace中的所有镜像pull操作,都自动使用regitsiv这个账户密码进行认证。

举报

相关推荐

0 条评论