• Harbor部署

    仓库设置

    1. 本地添加远程仓库

      helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
      
    2. 更新本地仓库信息

      helm repo update 
      

    部署Harbor

    启用持久化存储请执行提前创建所对应的物理目录,PV和PVC可使用以下语句进行创建;可在部署命令中添加--debug --dry-run参数,进行渲染预览不进行部署。

    创建harbor所需PV和PVC

    helm install c7n/create-pv \
        --set type=nfs \
        --set pv.name=harbor-adminserver-pv \
        --set nfs.path=/u01/io-choerodon/harbor/adminserver \
        --set nfs.server=nfs.example.choerodon.io \
        --set pvc.enable=false \
        --set size=5Gi \
        --set accessModes={ReadWriteOnce} \
        --name harbor-adminserver-pv --namespace=choerodon-devops-prod
        
    helm install c7n/create-pv \
        --set type=nfs \
        --set pv.name=harbor-harbor-db-pv \
        --set nfs.path=/u01/io-choerodon/harbor/harbor-db \
        --set nfs.server=nfs.example.choerodon.io \
        --set pvc.enable=false \
        --set size=5Gi \
        --set accessModes={ReadWriteOnce} \
        --name harbor-harbor-db-pv --namespace=choerodon-devops-prod
        
    helm install c7n/create-pv \
        --set type=nfs \
        --set pv.name=harbor-registry-pv \
        --set nfs.path=/u01/io-choerodon/harbor/registry \
        --set nfs.server=nfs.example.choerodon.io \
        --set pvc.enable=false \
        --set size=5Gi \
        --set accessModes={ReadWriteOnce} \
        --name harbor-registry-pv --namespace=choerodon-devops-prod
    

    部署harbor

    helm install c7n/harbor \
        --set externalDomain=registry.example.choerodon.io \
        --set harborAdminPassword=Harbor12345 \
        --set adminserver.volumes.config.selector.pv="harbor-adminserver-pv" \
        --set database.internal.volumes.config.selector.pv="harbor-harbor-db-pv" \
        --set registry.volumes.config.selector.pv="harbor-registry-pv" \
        --name=harbor --namespace=choerodon-devops-prod
    

    验证部署

    Harbor启动速度较慢请等待所有Pod都为Running后进行界面查看。

    启用HTTPS

    使用kube-lego申请证书

    以下讲解为通过kube-lego创建证书,kube-lego会自动申请证书。通过本站Kubernetes部署教程部署的集群默认是安装kube-lego的。若集群中未安装kube-lego请忽略以下本节操作。

    手动申请证书

    使用certbot生成证书需要注意几点:
    • 1.将域名解析到需要执行生成证书命令的机器上
    • 2.确保该机器上的80和443端口不能被占用
    • 3.该机器上已装有docker环境