k8s拉取Harbor私有镜像

secret介绍

1
Secret是用来保存小片敏感数据的k8s资源,例如密码,token,或者秘钥。这类数据当然也可以存放在Pod或者镜像中,但是放在Secret中是为了更方便的控制如何使用数据,并减少暴露的风险。

创建

先在服务器上登录 Harbor 仓库

1
2
3
docker login registry.sy.com

输入账号密码

查看登录的秘钥数据

1
2
登录成功后会在当前用户下生成 .docker/config.json 文件
cat ~/.docker/config.json
1
2
再对上面的 config.json 进行base64加密
cat ~/.docker/config.json |base64 -w 0

创建 secret.yaml 文件

1
2
3
4
5
6
7
apiVersion: v1
kind: Secret
metadata:
name: login
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJ0Y2xvdWQuaHViIjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0iCgkJfQoJfSwKCSJIdHRwSGVhZGVycyI6IHsKCQkiVXNlci1BZ2VudCI6ICJEb2NrZXItQ2xpZW50LzE3LjA5LjAtY2UgKGxpbnV4KSIKCX0KfQ==
1
kubectl create -f secret.yaml
Donate