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

 

四,解析出此secretdata的具体内容

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
    。。。

 


转载于:https://www.cnblogs.com/aguncn/p/11419150.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在Kubernetes上部署Harbor仓库,您可以按照以下步骤进行操作: 1. 在Kubernetes集群创建一个命名空间(Namespace),用于部署Harbor。可以使用以下命令创建命名空间: ``` kubectl create namespace harbor ``` 2. 接下来,您需要在Kubernetes部署一个持久化存储卷(Persistent Volume)和一个持久化存储卷声明(Persistent Volume Claim),用于存储Harbor的数据。您可以根据您的需求选择不同的存储解决方案,如NFS、GlusterFS或Ceph等。以下是一个示例使用NFS的配置文件: ```yaml apiVersion: v1 kind: PersistentVolume metadata: name: harbor-pv labels: type: nfs spec: capacity: storage: 10Gi accessModes: - ReadWriteMany nfs: server: <NFS server IP> path: <NFS server path> --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: harbor-pvc namespace: harbor spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi selector: matchLabels: type: nfs ``` 将上述配置文件保存为`harbor-pv.yaml`,然后使用以下命令创建Persistent Volume和Persistent Volume Claim: ``` kubectl apply -f harbor-pv.yaml ``` 3. 现在,您可以部署Harbor。您可以使用Helm来简化部署过程。首先,添加Harbor的Helm仓库: ``` helm repo add harbor https://helm.goharbor.io ``` 4. 创建一个名为`harbor-values.yaml`的配置文件,并根据您的需求进行配置。以下是一个示例配置文件: ```yaml expose: type: ingress tls: enabled: false ingress: hosts: - harbor.example.com annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" persistence: enabled: true existingClaim: harbor/harbor-pvc ``` 在该配置文件,您可以配置Harbor的访问方式(如Ingress或NodePort)、域名、持久化存储等。 5. 使用以下命令安装Harbor: ``` helm install harbor harbor/harbor -n harbor -f harbor-values.yaml ``` 这将在之前创建的`harbor`命名空间部署Harbor。 6. 等待部署完成后,您可以使用以下命令查看Harbor的状态: ``` kubectl get pods -n harbor ``` 当所有的Harbor组件都处于`Running`状态时,表示部署成功。 7. 最后,您可以通过配置的访问方式(如Ingress或NodePort)访问Harbor。如果使用Ingress,确保已经配置了域名解析和证书。 希望以上步骤对您有所帮助!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值