k8s拉取harbor镜像

K8S在默认情况下只能拉取Harbor仓库中的公有镜像,拉取私有镜像会报错:ErrImagePull 或 ImagePullBackOff

两种解决办法:

1.到 Harbor 仓库中把该镜像的项目设置成公开权限
2.创建认证登录秘钥,在拉取镜像时带上该秘钥

 

1.先登录 Harbor 仓库:
docker login -u admin -p Harbor12345 192.168.154.129

2.查看登录的秘钥数据:
cat ~/.docker/config.json

 

 

3.进行base64加密
cat ~/.docker/config.json | base64 -w 0

[root@docker ~]# cat ~/.docker/config.json | base64 -w 0
ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjMwLjEwNCI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTbW94TWpNME5UWT0iCgkJfQoJfQp9

4.创建 secret.yaml 文件:
vim secret.yaml

apiVersion: v1
kind: Secret
metadata:
name: login

namespace:  xx # 设置namespace
type: kubernetes.io/dockerconfigjson
data:
#这里添加加密后的密钥
.dockerconfigjson:  ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjMwLjEwNCI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTbW94TWpNME5UWT0iCgkJfQoJfQp9

5.创建对象
kubectl create -f secret.yaml

 

posted @ 2022-02-14 18:08  羊脂玉净瓶  阅读(760)  评论(0)    收藏  举报