K8S 自动拉取镜像失败,手动拉取镜像成功

7 篇文章 1 订阅

问题

新创建的Deploy在创建Pod时成功,但Pod报错,提示拉取镜像失败。
通过ssh登录到具体的K8S node上,手动执行docker pull 命令,却能成功拉取到对应的镜像。

原因

根本原因:具体的命名空间缺少imagePullSecrets,不同的命名空间不能直接使用default中的imagePullSecrets。
准备K8S环境时,仅在default 命令空间下创建了image pull secret。而开发人员新建了不同的命名空间来部署不同的微服务,虽然都是同一台harbor仓库,但却因为具体的命名空间无法使用default命名空间中的image pull secret,因此出现了无法自动拉取镜像。
而ssh登陆后执行的docker pull命令并不需要image pull secret,只要事先执行了docker login即可成功拉取镜像。

解决

在K8S-master节点上,针对不同的命名空间创建image pull secret(可以同名)。

kubectl create secret docker-registry  registrysecret --docker-server=<harbor地址>  --docker-username=admin --docker-password=xxxxx -n <命名空间A>
kubectl create secret docker-registry  registrysecret --docker-server=<harbor地址>  --docker-username=admin --docker-password=xxxxx -n <命名空间B>
kubectl create secret docker-registry  registrysecret --docker-server=<harbor地址>  --docker-username=admin --docker-password=xxxxx -n <命名空间C>

相关截图

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值