一键部署Choerodon

前置条件

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

下载安装工具

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

  1. export VERSION=0.15.0
  2. curl -L https://file.choerodon.com.cn/choerodon-install/c7nctl/${VERSION}/c7nctl-${VERSION}-`uname -s`-amd64.tar.gz | tar -xz && cd c7nctl-${VERSION}

创建并编辑配置文件

  1. vim config.yml

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

  1. version: 0.15
  2. metadata:
  3. name: install-choerodon
  4. namespace: c7n-system # 指定命名空间安装choerodon
  5. spec:
  6. persistence:
  7. storageClassName: nfs-provisioner
  8. resources:
  9. mysql:
  10. external: false
  11. gitlab:
  12. domain: gitlab.example.com
  13. external: false
  14. username: root # gitlab 默认用户名为root,不能修改
  15. schema: http
  16. minio:
  17. domain: minio.example.com
  18. schema: http
  19. harbor:
  20. domain: harbor.example.com
  21. schema: https
  22. username: admin # harbor 默认用户名为admin,不能修改
  23. chartmuseum:
  24. domain: chart.example.com
  25. schema: http
  26. api-gateway:
  27. domain: api.example.com
  28. schema: http
  29. notify-service:
  30. domain: notify.example.com
  31. schema: ws
  32. devops-service:
  33. domain: devops.example.com
  34. schema: ws
  35. choerodon-front:
  36. domain: c7n.example.com
  37. schema: http
  38. username: admin # 前端 默认用户名为admin,暂不能修改
  39. password: admin # 前端 默认密码为admin,暂不能修改
  40. xwiki:
  41. domain: wiki.example.com
  42. schema: http

开始部署

  • 在安装过程中,会提示设置某些组件用户名及密码,注意保存
  • 如果安装失败,根据提示操作后,再次执行命令即可
  • 执行部署命令,安装过程中如果遇到问题,请先查看本文最后一节关于常见问题的介绍,如果未能解决你的问题,可以到论坛中提问。
  • 更多关于c7nctl的配置请参考此处
  1. ./c7nctl install -c config.yml --no-timeout --version=0.15
  • 参数解释
    参数作用说明
    –no-timeout取消默认任务等待超时微服务安装时需要执行初始化任务,默认超时时长为300秒,添加此参数将超时时长设置为24小时
    –debug输出调试信息

后续步骤

常见问题

停留在等待slaver启动过程中/waiting slaver running
  • 请确认每个节点都安装了nfs-utils
  • 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,一般为正在拉取镜像,请耐心等待。