harbor在kubernetes helm是怎样安装使用的

今天就跟大家聊聊有关harbor在kubernetes helm是怎样安装使用的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

  • 环境:kubernetes 1.18+,helm3

  • 添加Harbor的Helm repository

helm repo add harbor https://helm.goharbor.io
helm repo update
  • 创建namespace

kubectl create namespace harbor-system
  • 创建harbor-overrides.yaml。导出类型修改为clusterIP,后面会用traefik导出外网并自动管理证书,pvc根据实际情况修改。存储方案参考我的 https://my.oschina.net/u/160697/blog/4422610

externalURL: https://registry.your_domain.com:31000
expose:
  type: clusterIP
  tls:
    auto:
      commonName: harbor
persistence:
  persistentVolumeClaim:
    registry:
      storageClass: rook-cephfs
      accessMode: ReadWriteMany
      size: 1024Gi
    chartmuseum:
      storageClass: rook-cephfs
      accessMode: ReadWriteMany
    jobservice:
      storageClass: rook-cephfs
      accessMode: ReadWriteMany
    database:
      storageClass: rook-cephfs
      accessMode: ReadWriteMany
    redis:
      storageClass: rook-cephfs
      accessMode: ReadWriteMany
    trivy:
      storageClass: rook-cephfs
      accessMode: ReadWriteMany
  • 安装,要拉镜像,启动10多个容器需要多等,也可以删除pod尝试

helm install -f harbor-overrides.yaml --namespace harbor-system harbor harbor/harbor
  • 升级

helm upgrade -f harbor-overrides.yaml --namespace harbor-system harbor harbor/harbor
  • 卸载

helm uninstall harbor -n harbor-system
# 下面这个删除命名空间,会把存储一起删除
# kubectl delete ns harbor-system
  •  导出traefik。参考 https://my.oschina.net/u/160697/blog/4437939

kind: Ingress
apiVersion: networking.k8s.io/v1beta1
metadata:
  name: harbor-ingress
  namespace: harbor-system
  annotations:
    traefik.ingress.kubernetes.io/router.tls: "true"
    traefik.ingress.kubernetes.io/router.entrypoints: websecure
    traefik.ingress.kubernetes.io/router.tls.certresolver: aliyun
    traefik.ingress.kubernetes.io/router.tls.domains.0.main: registry.your_domain.com

spec:
  rules:
    - host: registry.your_domain.com
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              serviceName: harbor-harbor-portal
              servicePort: 80
          - path: /api/
            pathType: ImplementationSpecific
            backend:
              serviceName: harbor-harbor-core
              servicePort: 80
          - path: /service/
            pathType: ImplementationSpecific
            backend:
              serviceName: harbor-harbor-core
              servicePort: 80
          - path: /v2/
            pathType: ImplementationSpecific
            backend:
              serviceName: harbor-harbor-core
              servicePort: 80
          - path: /chartrepo/
            pathType: ImplementationSpecific
            backend:
              serviceName: harbor-harbor-core
              servicePort: 80
          - path: /c/
            pathType: ImplementationSpecific
            backend:
              serviceName: harbor-harbor-core
              servicePort: 80
  • 登录https://registry.your_domain.com:31000。默认帐号密码是admin/Harbor12345。单独创建一个使用的帐号密码,具体就不写了。

  • docker中使用。输入docker login后输入帐号密码。然后就可以docker tag。在docker push就ok

#输入帐号密码
sudo docker login

看完上述内容,你们对harbor在kubernetes helm是怎样安装使用的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。