一键部署Choerodon

前置条件

  • 成功安装kubernetes集群(1.10以上版本)
  • 成功安装helm(v3.2.4及以上版本)
  • 每个节点安装nfs-utils(Centos)或nfs-common(Debian/Ubuntu)
  • 安装nfs-provisioner或自有nfs服务
  • 正确解析域名到集群中

下载安装工具

如果您的主机没有配置kubernetes连接信息,则您需要到k8s服器中的master执行安装,如果您的主机已经配置了kubernetes的连接信息,并且可以正常执行kubectl命令,您可以在您的主机上执行安装,在安装之前您需要下载安装工具,目前支持Linux及MacOS:

  1. curl -fsSL -o get_c7nctl.sh https://gitee.com/open-hand/c7nctl/raw/0.24/scripts/get-c7nctl.sh
  2. chmod 700 get_c7nctl.sh
  3. ./get_c7nctl.sh

创建并编辑配置文件

  1. vim config.yml

粘贴以下内容,并将域名修改为你自己的域名

  1. version: 0.24
  2. metadata:
  3. name: resource-choerodon
  4. namespace: c7n-system # 指定命名空间安装choerodon
  5. spec:
  6. persistence:
  7. storageClassName: nfs-provisioner
  8. resources:
  9. gitlab:
  10. domain: gitlab.example.choerodon.io
  11. minio:
  12. domain: minio.example.choerodon.io
  13. harbor:
  14. domain: harbor.example.choerodon.io
  15. chartmuseum:
  16. domain: chart.example.choerodon.io
  17. sonatype-nexus:
  18. domain: nexus.example.choerodon.io
  19. sonarqube:
  20. domain: sonarqube.example.choerodon.io
  21. choerodon-gateway:
  22. domain: api.example.choerodon.io
  23. choerodon-message:
  24. domain: notify.example.choerodon.io
  25. devops-service:
  26. domain: devops.example.choerodon.io
  27. choerodon-front-hzero:
  28. domain: hzero.example.choerodon.io
  29. choerodon-front:
  30. domain: app.example.choerodon.io

开始部署

  • 在安装过程中,会提示设置某些组件用户名及密码,注意保存

  • 如果安装失败,根据提示操作后,再次执行命令即可

  • 如果安装api-gateway失败请重新执行一次安装命令

  • 执行部署命令,安装过程中如果遇到问题,请先查看本文最后一节关于常见问题的介绍,如果未能解决你的问题,可以到论坛中提问。

  1. ./c7nctl install c7n -c config.yml --version=0.24
  • 参数解释
参数说明
—debug输出 debug 级别的日志
—config设置安装的配置文件
—namespace指定安装的的 namespace,默认为 c7n-system
—version设置安装的猪齿鱼版本
—resource-path设置安装资源的路径,用于离线安装
—prefix安装资源的前缀
—thin-mode最小资源占用安装,需要服务总配置为 6C32G,仅推荐用于测试体验安装
—client-only模拟安装,仅输出安装配置
—chart-repochart 仓库地址
—image-repo设置所有helm实例的镜像仓库

后续步骤

  • 安装完成后您可以访问您配置的choerodon-front域名,默认用户名和密码为admin/Admin@123!

  • 登录一次Gitlab,第一次登录会提示设置root用户密码,随后会跳转到Choerodon认证,使用admin/Admin@123!登录即可,如果使用root/admin用户拉取代码用户名为root,密码为界面设置的密码,其他用户创建后会通过站内信通知Gitlab密码

  • 设置Harbor证书(必须设置)

  • Nexus 匿名用户设置(可选)

  • 安装Gitlab-Runner

常见问题

停留在等待slaver启动过程中/waiting slaver running
  1. 请确认每个节点都安装了nfs-utils
  2. nfs服务处于正常运行状态
提示job已存在

根据提示执行删除命令后,重新执行安装命令

请检查您的域名: xxxx.xx.xx 已正确解析到集群

域名未解析到集群中,如果你刚修改域名解析记录,新修改生效需要等待一段时间,该时间取决于你的DNS服务商,你可以在任意包含ping命令的POD中使用PING命令查看解析是否正确,命令: kubectl exec -ti [POD_NAME] -n [NAMESPACE] ping baidu.com

Waiting xxx running

等待前置服务启动,服务启动需要拉取对应镜像,取决于你的网速,一般情况下需要等待1~2分钟,如果长时间未启动,执行命令kubectl get po xxx -n [NAMESPACE]查看对应服务的POD状态。

  • 如果为Pending状态,则执行命令kubectl describe po xxx -n [NAMESPACE]查看Pending的原因。一般为内存、CPU或磁盘不足和网路不通导致。

  • 如果为ContainerCreating,一般为正在拉取镜像,请耐心等待。