关于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状态了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!