天天看点

阿里实战集群拉取私有镜像权限问题

工作中无意同事把 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

即部署生效