创建私有仓库 secret

  1. # 创建连接私有仓库的密钥
  2. kubectl create secret docker-registry harbor-secret -n test --docker-server=harbor-image.test.cn --docker-username=admin --docker-password=123456
  3. # 创建成功可以查看到
  4. kubectl get secret -n test
  5. NAME TYPE DATA AGE
  6. harbor-secret kubernetes.io/dockerconfigjson 1 2d18h

在deployment 中引用secret

  1. ...
  2. imagePullSecrets:
  3. - name: harbor-secret
  4. ...
此时pod 就可以正常拉取镜像了。

管理员可以通过secret 反查看加密信息

# kubectl get secret harbor-secret  -n test -o yaml
apiVersion: v1
data:
  .dockerconfigjson: eyJhdXRocyI6xxxxxxxxxxxxxxxxxxxxxxxxxWjBkU2FUYzFaV2xETVE9PSJ9fX0=
kind: Secret

查看到dockerconfigjson 字段,使用命令可以反查到加密的信息

echo 'eyJhdXRocyI6eyJoYXJib3IxxxxxxxxxxxxxxxxxxkU2FUYzFaV2cETVE9PSJ9fX0=' | base64 --decode

# 以上命令输出
{"auths":{"harbor-image.test.cn":{"username":"admin","password":"123456","auth":"YWRtaW4xxxxxxxSaTc1ZWlDMQ=="}}}