1. 程式人生 > 其它 >關於k8s deployment.yaml檔案中imagePullSecrets的配置

關於k8s deployment.yaml檔案中imagePullSecrets的配置

  更換映象倉庫後,在deployment.yaml中將image的倉庫地址修改後,更新deployment,pod一直在ImagePullBackOff狀態,describe檢視pod資訊,會提示是映象下載失敗,但是在宿主機上手動docker pull下載映象又是能正常下載的,且映象手動下載後,pod就會變成running狀態

解決辦法

1.反覆檢視deployment.yaml檔案之後發現,是imagePullSecrets引數控制了該deployment去連線哪個映象倉庫的

2.通過命令去檢視私鑰(zl-regsecret)指向的映象倉庫地址什麼

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

3.檢視的映象倉庫和現使用的倉庫不是同一個,遂新配置一個私鑰(zl-regsecret-new)

kubectl create secret docker-registry zl-regsecret-new(新的私鑰名稱) --docker-server=映象倉庫地址 --docker-username=映象倉庫的使用者名稱 --docker-password=映象倉庫的密碼 -n 名稱空間 --docker-email=DOCKER_EMAIL(不填也行)

  

4.將新的私鑰名稱配置到deployment.yaml檔案中

5.更新deployment控制器

kubectl apply -f ***.yaml -n namespace

  

6.在檢視pod狀態已經是running狀態了