Kubernetes -- K8s与Harbor私有项目

一、问题描述

  在使用K8s的过程中,Pod需下载镜像,下载镜像过程中大部分场景会去自建的Harbor上下载,在Harbor上,如果项目是公开的话则仅需要输入Harbor的用户名和密码即可,但当Harbor上的项目是私有时,这种方式就不可以了,需要额外配置其它参数。

二、问题解决

1.1 先在服务器上登录 Harbor 仓库

~] docker login -u admin -p Harbor12345 $HARBOR_DOMAIN

1.2 查看登录的秘钥数据

~] cat ~/.docker/config.json
{
	"auths": {
		"$HARBOR_DOMAIN": {
			"auth": "xxtestYWRtasafw9rbTlpam5fUEw8PVs7Lg=="
		}
	}
}

1.3 对上面出来的数据进行base64加密

~] cat ~/.docker/config.json |base64 -w 0

1.4 创建secret.yaml文件

apiVersion: v1
kind: Secret
metadata:
  # secret的名称
  name: harbor-secret
  # 写创建在哪个名称空间
  namespace: $NAMESPACE
type: kubernetes.io/dockerconfigjson
data: 
# 值为1.3中生成的密钥
  .dockerconfigjson: xxJImF1ddddwoJCSJoYXJib3IuZ2Vuc2VlLmNvbSI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZNRzlyYlRscGFtNWZVRXc4UFZzN0xnPT0iCgkJfQoJfQp9

1.5 生成对象

~] kubectl create -f harbor-secret.yaml
posted @ 2022-07-08 10:40  k-free  阅读(113)  评论(0编辑  收藏  举报