关于k8s deployment.yaml文件中imagePullSecrets的配置

  更换镜像仓库后,在deployment.yaml中将image的仓库地址修改后,更新deployment,pod一直在ImagePullBackOff状态,describe查看pod信息,会提示是镜像下载失败,但是在宿主机上手动docker pull下载镜像又是能正常下载的,且镜像手动下载后,pod就会变成running状态

 

 

 

  解决办法

1.反复查看deployment.yaml文件之后发现,是imagePullSecrets参数控制了该deployment去连接哪个镜像仓库的

 

2.通过命令去查看私钥(zl-regsecret)指向的镜像仓库地址什么

1
kubectl get secrets zl-regsecret -n test-env --output="jsonpath={.data.\.dockerconfigjson}" | base64 -d

 

3.查看的镜像仓库和现使用的仓库不是同一个,遂新配置一个私钥(zl-regsecret-new)

1
2
3
kubectl create secret docker-registry zl-regsecret-new(新的私钥名称) --docker-server=镜像仓库地址 --docker-username=镜像仓库的用户名 --docker-password=镜像仓库的密码 -n 名称空间 --docker-email=DOCKER_EMAIL(不填也行)
kubectl create secret docker-registry zl-regsecret-new --docker-server=swr.cn-southwest-2.myhuaweicloud.com --docker-username=cn-southwest-2@EIEN99RIQFGCXPUX3DYF --docker-password=fd171b230be54a7f3b0411f88cc08bdf8d1d97b2aa8e9a21c9b3a40b67d81982 -n prod-env --docker-email=DOCKER_EMAIL
secret/zl-regsecret-new created

  

  

4.将新的私钥名称配置到deployment.yaml文件中

 

5.更新deployment控制器

1
kubectl apply -f deployment.yaml -n namespace

  

6.在查看pod状态已经是running状态了

 

 

posted @   看见酵母菌  阅读(764)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示