node節點已經配置了docker私有庫,docker pull映象可以正常拉取,但是在k8s master節點建立deployment時,pod一直處於imagepullbackoff,errimagepull狀態來回切換。
kubectl describe pod 檢視pod錯誤提示,看到failed to pull image 「***.***.***/job:latest」: rpc error: code = unknown desc = error response from daemon:pull access denied for ***.***.***/job, repository does not exist or may require 『docker login』: denied: requested access to the resource is denied
查了一會文件,為了方便以後操作,建立乙個secret,在deployment裡指定imagepullsecrets,就可以正常拉取。
1.建立secret
kubectl create secret docker-registry myregcred -n ceres\
--docker-server= \-
-docker-username= \-
-docker-password= \-
-docker-email=
可以通過下面這個命令檢視,docker私有倉庫的詳細資訊
kubectl get secret myregcred -n ceres -
-output=
"jsonpath="
| base64 -
-decode
2.在deployment指定imagepullsecrets
---
kind: deployment
metadata:
name: ceres-job
namespace: ceres
spec:
selector:
matchlabels:
replicas:
2 template:
metadata:
labels:
spec:
containers:
- name: ceres-job
image: ***.***.***/ceres_k8s/job:latest
ports:
- containerport:
8080
imagepullsecrets:
- name: myregcred
3.重新建立deployment,檢視pod狀態。
[root@m0001 ceres]
# kubectl get pod -n ceres
name ready status restarts age
ceres-job-
77586dc854
-9***t 1
/1 running 0 43m
ceres-job-
77586dc854
-jqhvb 1
/1 running 0 43m
[root@m0001 ceres]
#
已經看到pod已經啟動。 K8s 拉取私有倉庫映象方法
一般公司開發的image一般放在私有倉庫,不對外開放。在阿里雲建立乙個私有映象庫,並構建乙個image 建立阿里雲映象私有倉庫和構建image方法參考 docker 拉取私有映象的方法 a.登陸私有倉庫 login succeededb.拉取映象 c.儲存私有倉庫的登陸資訊檔案位置,如果不logou...
k8s設定拉取私有倉庫映象
kubectl create secret docker registry regsecret docker server registry.cn hangzhou.aliyuncs.com docker username x docker password n regsecret 指定金鑰的鍵名稱...
K8s 從懵圈到熟練 映象拉取這件小事
順序上來說,私有映象自動拉取會首先通過阿里雲 acr credential helper 元件,再經過 k8s 集群的 api server 和 kubelet 元件,最後到 docker 容器執行時。但是我的敘述,會從後往前,從最基本的 docker 映象拉取說起。映象拉取這件小事 為了討論方便,...