K8s集群從私有映象倉庫中拉取映象

2021-10-08 09:04:33 字數 1763 閱讀 4712

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 映象拉取說起。映象拉取這件小事 為了討論方便,...