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

浙公网安备 33010602011771号