美文网首页运维工作中的排坑
使用helm在k8s集群里安装harbor

使用helm在k8s集群里安装harbor

作者: 左舷的风 | 来源:发表于2022-02-08 21:59 被阅读0次
    1. 使用nfs共享存储搭建的pvc(此次都放在一个vpc下);
    2. harbor使用nodePort方式部署,不使用ssl;
    1. 准备工作:

      • 准备好harbor用的pvc

      • 安装好helm,添加好可用源;

      • 因为使用的nfs创建的pvc,要给足权限,要不数据库的pod创建时会报错;

        chmod -R 777 /data/nfs-harbor/
        
      • 创建好harbornamespace,以后的所有资源都创建在这个命名空间里(包括harbor用的pvc);

        kubectl create namespace harbor
        
    1. 下载harbor包:

      #添加harbor的helm仓库
      helm repo add harbor https://helm.goharbor.io
      
      #下载最新的harbor包
      helm pull harbor/harbor
      
    1. 解压tgz包,修改values.yaml文件

      #values.yaml文件很长,只需要修改一部分
      
      expose:
        type: nodePort #修改为nodePort
        tls:
          enabled: false   #不使用ssl,修改为false
           ......
      externalURL: http://10.1.129.121:30002   #修改为其中一个node节点的IP+端口,以后harbor使用这个URL访问
      ......
      persistence:
        enabled: true
        resourcePolicy: "keep"
        persistentVolumeClaim:
          registry:
            existingClaim: "nfs-pvc-harbor"    #修改为之前创建好的pvc
            storageClass: ""
            subPath: "registry"    #修改为对应名字,以后的数据存在此目录中
            accessMode: ReadWriteOnce
            size: 5Gi
          chartmuseum:
            existingClaim: "nfs-pvc-harbor"    #修改为之前创建好的pvc
            storageClass: ""
            subPath: "chartmuseum" #修改为对应名字,以后的数据存在此目录中
            accessMode: ReadWriteOnce
            size: 5Gi
          jobservice:
            existingClaim: "nfs-pvc-harbor"    #修改为之前创建好的pvc
            storageClass: ""
            subPath: "jobservice"  #修改为对应名字,以后的数据存在此目录中
            accessMode: ReadWriteOnce
            size: 1Gi
          database:
            existingClaim: "nfs-pvc-harbor"    #修改为之前创建好的pvc
            storageClass: ""
            subPath: "database"    #修改为对应名字,以后的数据存在此目录中
            accessMode: ReadWriteOnce
            size: 1Gi
          redis:
            existingClaim: "nfs-pvc-harbor"    #修改为之前创建好的pvc
            storageClass: ""
            subPath: "redis"   #修改为对应名字,以后的数据存在此目录中
            accessMode: ReadWriteOnce
            size: 1Gi
          trivy:
            existingClaim: "nfs-pvc-harbor"    #修改为之前创建好的pvc
            storageClass: ""
            subPath: "trivy"   #修改为对应名字,以后的数据存在此目录中
            accessMode: ReadWriteOnce
            size: 5Gi
               ......
      
    1. 安装harbor

      helm install harbor harbor/harbor -f values.yaml -n harbor
      
      #等一会查看pod创建是否成功,默认密码为admin/Harbor12345
      kubectl get pod -n harbor
      
      #使用之前配的URL即可登录harbor页面
      
    1. 配置harbor镜像仓库:

      #修改docker添加http为信任仓库
      vim /etc/docker/daemon.json 
      
      "insecure-registries": ["10.1.129.121:30002"]
      
      #重启docker
      systemctl restart docker
      
      #配置用户名密码
      docker login 10.1.129.121:30002
      
      #测试推送
      docker push 10.1.129.121:30002/k8s.gcr.io/kube-apiserver:v1.23.1
      

    相关文章

      网友评论

        本文标题:使用helm在k8s集群里安装harbor

        本文链接:https://www.haomeiwen.com/subject/xheikrtx.html