天天看點

阿裡實戰叢集拉取私有鏡像權限問題

工作中無意同僚把 namespace修改了導緻,dock pull 無法拉取,聯系技術支援也沒有能修複到以前,隻好添加新的imagePullSecrets參數進行支援。

1 apiVersion: apps/v1

2 kind: Deployment

3 metadata:

4 name: lxw

5 namespace: goweb

6 spec:

7 selector:

8 matchLabels:

9 app: lxw-backend

10 replicas: 1

11 template:

12 metadata:

13 labels:

14 app: lxw-backend

15 spec:

16 containers:

17 - name: lxw-backend

18 image: registry.cn-beijing.aliyuncs.com/lxw-test/lxw-backend:#Tag

19 command: ["/lxw-backend"]

20 imagePullSecrets:

21 - name: ali-image-key

注意:

imagePullSecrets:

- name: ali-image-key           

增加如上一段代碼即可,注意:imagePullSecrets與containers同級

cat ~/.docker/config.json | base64 -w 0

xxxxxxxxxx

建立私鑰(為每一個需要私有鏡像的namespace都要增加一個),如下每個命名空間都要增加密鑰

1 apiVersion: v1

2 kind: Secret

4 name: ali-image-key

6 data:

7 .dockerconfigjson: xxxxxxxxxxxx

8 type: kubernetes.io/dockerconfigjson 9

10 ---

11

12 apiVersion: v1

13 kind: Secret

14 metadata:

15 name: ali-image-key

16 namespace: default

17 data:

18 .dockerconfigjson: xxxxxxxx

19 type: kubernetes.io/dockerconfigjson

具體添加私密的方法:

把上面代碼儲存到一檔案中,如 secret.yml,然後執行

kubectl apply -f secret.yml

即部署生效