K8s集群中设置harbor仓库认证
Posted aguncn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8s集群中设置harbor仓库认证相关的知识,希望对你有一定的参考价值。
一,获取harbor的登陆用户名和密码(demo_user/demo_pwd)
二,使用kubectl命令生成secret(不同的namespace要分别生成secret,不共用)
kubectl create secret docker-registry harborsecret --docker-server=harbor.xxxx.com.cn --docker-username= demo_user --docker-password= demo_pwd --docker-email=admin@xxx.com --namespace=default
三,查看此secret的配置内容
get secret harbor secret --output=yaml
apiVersion: v1 data: .dockerconfigjson: eyJhdxxxQwTnRPR055WldvNCJ9fX0= kind: Secret metadata: creationTimestamp: "2019-08-27T07:52:30Z" name: harborsecret namespace: default resourceVersion: "7745813" selfLink: /api/v1/namespaces/default/secrets/prismsecret uid: 9f2b1b8b-c89f-11e9-b546-065214003ae8 type: kubernetes.io/dockerconfigjson
四,解析出此secret中data的具体内容
kubectl get secret harborsecret --output="jsonpath=.data.\.dockerconfigjson" |base64 -d
"auths":"harbor.xxxx.com.cn":"username":"demo_user","password":"demo_pwd","email":"admin@xxx.com","auth":"YWRxxxbk0
五,在yaml中设置secret
如果命令难记,可以使用yaml文件(如果apply出错,注意dockerconfigjson内容)
apiVersion: v1
data:
.dockerconfigjson: eyJhdXRxxxYmswemQwTnRPR055WldvNCJ9fX0=
kind: Secret
metadata:
name: harborsecret
namespace: default
type: kubernetes.io/dockerconfigjson
六,在yaml中应用secret
。。。
spec:
imagePullSecrets:
- name: harborsecret
nodeSelector:
accelerator: nvidia-tesla-k80
containers:
- name: ai-jupyter-v2
image: harbor.xxx.com.cn/3rd_part/tensorflow:20190812
imagePullPolicy: IfNotPresent
。。。
以上是关于K8s集群中设置harbor仓库认证的主要内容,如果未能解决你的问题,请参考以下文章
K8S 集群架构的 kubeadm 部署dashboard 和 Harbor 仓库部署
K8S 集群架构的 kubeadm 部署dashboard 和 Harbor 仓库部署
K8S集群架构的kubeadm部署+dashboard和Harbor仓库部署
K8S------Kubeadm部署Kubernetes集群+Dashboard+Harbor仓库