注意事项

  • 如果报错提示job已存在,直接直接下述命令删除历史job即可

升级register server

  • 升级服务
  1. helm upgrade register-server c7n/go-register-server \
  2. -f <(helm get values register-server) \
  3. --version 0.16.0
    • 验证命令
  1. curl $(kubectl get svc register-server -o jsonpath="{.spec.clusterIP}" -n c7n-system):8000/eureka/apps
  • 出现以下类似信息即为成功升级
  1. {
  2. "name": "go-register-server",
  3. "instance": [
  4. {
  5. "instanceId": "10.233.64.95:go-register-server:8000",
  6. "hostName": "10.233.64.95",
  7. "app": "go-register-server",
  8. "ipAddr": "10.233.64.95",
  9. "status": "UP",
  10. "overriddenstatus": "UNKNOWN",
  11. "port": {
  12. "@enabled": true,
  13. "$": 8000
  14. },
  15. "securePort": {
  16. "@enabled": false,
  17. "$": 443
  18. },
  19. "countryId": 8,
  20. "dataCenterInfo": {
  21. "name": "MyOwn",
  22. "@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo"
  23. },
  24. "leaseInfo": {
  25. "renewalIntervalInSecs": 10,
  26. "durationInSecs": 90,
  27. "registrationTimestamp": 1545095590,
  28. "lastRenewalTimestamp": 1545095590,
  29. "evictionTimestamp": 0,
  30. "serviceUpTimestamp": 1545095590
  31. },
  32. "metadata": {
  33. "VERSION": "0.15.0"
  34. },
  35. ...
  36. }
  37. ]
  38. }

升级config server

  • 升级服务
  1. helm upgrade config-server c7n/config-server \
  2. -f <(helm get values config-server) \
  3. --version 0.16.0
  • 验证升级

    • 验证命令
  1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=config-server -o jsonpath="{.items[0].status.podIP}"):8011/actuator/health | jq -r .status
  • 出现以下类似信息即为成功升级
  1. UP

升级manager service

  • 升级服务
  1. helm upgrade manager-service c7n/manager-service \
  2. -f <(helm get values manager-service) \
  3. --version 0.16.0
  • 验证升级

    • 验证命令
  1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=manager-service -o jsonpath="{.items[0].status.podIP}"):8964/actuator/health | jq -r .status
  • 出现以下类似信息即为成功升级
  1. UP

升级asgard service

  • 升级服务
  1. helm upgrade asgard-service c7n/asgard-service \
  2. -f <(helm get values asgard-service) \
  3. --version 0.16.0
  • 验证升级

    • 验证命令
  1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=asgard-service -o jsonpath="{.items[0].status.podIP}"):18081/actuator/health | jq -r .status
  • 出现以下类似信息即为成功升级
  1. UP
  • 升级服务
  1. helm upgrade notify-service c7n/notify-service \
  2. -f <(helm get values notify-service) \
  3. --version 0.16.0
  • 验证部署

    • 验证命令
  1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=notify-service -o jsonpath="{.items[0].status.podIP}"):18086/actuator/health | jq -r .status
  • 出现以下类似信息即为成功部署
  1. UP

升级iam service

  • 升级服务
  1. helm upgrade iam-service c7n/iam-service \
  2. -f <(helm get values iam-service) \
  3. --version 0.16.0
  • 验证升级

    • 验证命令
    • 出现以下类似信息即为成功升级
    1. UP

    升级api gateway

    • 升级服务
    1. helm upgrade api-gateway c7n/api-gateway \
    2. -f <(helm get values api-gateway) \
    3. --set preJob.preConfig.configType="k8s" \
    4. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    5. --version 0.16.0
    • 验证升级

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=api-gateway -o jsonpath="{.items[0].status.podIP}"):8081/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP

    升级gateway helper

    • 升级服务
    • 验证升级

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=gateway-helper -o jsonpath="{.items[0].status.podIP}"):9181/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP

    升级oauth server

    • 升级服务
    1. -f <(helm get values oauth-server) \
    2. --version 0.16.0
    • 验证升级

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=oauth-server -o jsonpath="{.items[0].status.podIP}"):8021/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP

    升级file service

    • 升级服务
    1. helm upgrade file-service c7n/file-service \
    2. -f <(helm get values file-service) \
    3. --version 0.16.0
      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=file-service -o jsonpath="{.items[0].status.podIP}"):9091/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP

    DevOps服务升级

    • 升级服务
    1. helm upgrade devops-service c7n/devops-service \
    2. --set env.open.TEMPLATE_VERSION="0.16.0" \
    3. --set env.open.AGENT_VERSION="0.16.0" \
    4. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    5. -f <(helm get values devops-service) \
    6. --version 0.16.4
    • 验证升级

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=devops-service -o jsonpath="{.items[0].status.podIP}"):8061/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP

    升级gitlab service

    • 获取上一次部署时的参数
    1. helm get values gitlab-service
    • 根据上一次部署时的参数,替换下面参数,升级服务
    1. helm upgrade gitlab-service c7n/gitlab-service \
    2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    3. --set preJob.preConfig.datasource.username=choerodon \
    4. --set preJob.preConfig.datasource.password=password \
    5. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    6. -f <(helm get values gitlab-service) \
    7. --version 0.16.1
    • 验证升级

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=gitlab-service -o jsonpath="{.items[0].status.podIP}"):8071/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP

    部署workflow service

    • 创建workflow-service数据库
    1. helm install c7n/mysql-client \
    2. --set env.MYSQL_HOST=c7n-mysql.c7n-system.svc \
    3. --set env.MYSQL_PORT=3306 \
    4. --set env.MYSQL_USER=root \
    5. --set env.MYSQL_PASS=password \
    6. --set env.SQL_SCRIPT="\
    7. CREATE DATABASE IF NOT EXISTS workflow_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\
    8. GRANT ALL PRIVILEGES ON workflow_service.* TO choerodon@'%';\
    9. FLUSH PRIVILEGES;" \
    10. --version 0.1.0 \
    11. --name create-c7nworkflow-db \
    12. --namespace c7n-system
    • 部署服务
    1. helm install c7n/workflow-service \
    2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    3. --set preJob.preConfig.datasource.username=choerodon \
    4. --set preJob.preConfig.datasource.password=password \
    5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/workflow_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    6. --set preJob.preInitDB.datasource.username=choerodon \
    7. --set preJob.preInitDB.datasource.password=password \
    8. --set env.open.SPRING_DATASOURCE_URL="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/workflow_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    9. --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \
    10. --set env.open.SPRING_DATASOURCE_PASSWORD=password \
    11. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \
    12. --set env.open.SPRING_REDIS_HOST=c7n-redis.c7n-system.svc \
    13. --set env.open.SPRING_REDIS_DATABASE=11 \
    14. --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \
    15. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    16. --name workflow-service \
    17. --version 0.16.2 \
    18. --namespace c7n-system

    参数名含义service.enable是否创建servicepreJob.preConfig.datasource{}初始化配置所需manager_service数据库信息preJob.preInitDB.datasource{}初始化数据库所需数据库信息env.open.SPRING_DATASOURCE_URL数据库链接地址env.open.SPRING_DATASOURCE_USERNAME数据库用户名env.open.SPRING_DATASOURCE_PASSWORD数据库密码env.open.SPRING_CLOUD_CONFIG_ENABLED启用配置中心env.open.SPRING_CLOUD_CONFIG_URI配置中心地址env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE注册服务地址

    • 验证部署

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=workflow-service -o jsonpath="{.items[0].status.podIP}"):8066/actuator/health | jq -r .status
    • 出现以下类似信息即为成功部署
    1. UP

    敏捷管理更新了数据库的链接方式,请务必确认数据库正确连接地址,可能是c7n-mysql.c7n-system.svc, mysql.c7n-system.svc或mysql中的任意一种,升级时注意替换相应的参数。

    升级agile service

    • 获取上一次部署时的参数
    1. helm get values agile-service
    • 根据上一次部署时的参数,替换下面参数,升级服务
    1. helm upgrade agile-service c7n/agile-service \
    2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    3. --set preJob.preConfig.datasource.username=choerodon \
    4. --set preJob.preConfig.datasource.password=password \
    5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/agile_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    6. --set preJob.preInitDB.datasource.username=choerodon \
    7. --set preJob.preInitDB.datasource.password=password \
    8. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    9. -f <(helm get values agile-service) \
    10. --version 0.16.2
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=agile-service -o jsonpath="{.items[0].status.podIP}"):8379/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级

    升级state machine service

    • 获取上一次部署时的参数
    1. helm get values state-machine-service
    • 根据上一次部署时的参数,替换下面参数,升级服务
    1. helm upgrade state-machine-service c7n/state-machine-service \
    2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    3. --set preJob.preConfig.datasource.username=choerodon \
    4. --set preJob.preConfig.datasource.password=password \
    5. --set preJob.preInitDB.datasource.username=choerodon \
    6. --set preJob.preInitDB.datasource.password=password \
    7. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    8. -f <(helm get values state-machine-service) \
    9. --version 0.16.0
    • 验证升级

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=state-machine-service -o jsonpath="{.items[0].status.podIP}"):8385/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP

    升级issue service

    • 获取上一次部署时的参数
    1. helm get values state-machine-service
    • 根据上一次部署时的参数,替换下面参数,升级服务
    1. helm upgrade issue-service c7n/issue-service \
    2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    3. --set preJob.preConfig.datasource.username=choerodon \
    4. --set preJob.preConfig.datasource.password=password \
    5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/issue_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    6. --set preJob.preInitDB.datasource.username=choerodon \
    7. --set preJob.preInitDB.datasource.password=password \
    8. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    9. -f <(helm get values issue-service) \
    10. --version 0.16.0
    • 验证升级

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=issue-service -o jsonpath="{.items[0].status.podIP}"):8381/actuator/health | jq -r .status
    • 出现以下类似信息即为成功升级
    1. UP
    • 创建foundation-service数据库
    1. helm install c7n/mysql-client \
    2. --set env.MYSQL_HOST=c7n-mysql.c7n-system.svc \
    3. --set env.MYSQL_PORT=3306 \
    4. --set env.MYSQL_USER=root \
    5. --set env.MYSQL_PASS=password \
    6. --set env.SQL_SCRIPT="\
    7. CREATE DATABASE IF NOT EXISTS foundation_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\
    8. GRANT ALL PRIVILEGES ON foundation_service.* TO choerodon@'%';\
    9. FLUSH PRIVILEGES;" \
    10. --version 0.1.0 \
    11. --name create-c7foundation-db \
    12. --namespace c7n-system
    • 部署服务
    1. helm install c7n/foundation-service \
    2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    3. --set preJob.preConfig.datasource.username=choerodon \
    4. --set preJob.preConfig.datasource.password=password \
    5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/foundation_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    6. --set preJob.preInitDB.datasource.username=choerodon \
    7. --set preJob.preInitDB.datasource.password=password \
    8. --set env.open.SPRING_DATASOURCE_URL="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/foundation_service?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true" \
    9. --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \
    10. --set env.open.SPRING_DATASOURCE_PASSWORD=password \
    11. --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \
    12. --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \
    13. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    14. --name foundation-service \
    15. --version 0.16.0 \
    16. --namespace c7n-system
    • 验证部署

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=foundation-service -o jsonpath="{.items[0].status.podIP}"):8387/actuator/health | jq -r .status
    • 出现以下类似信息即为成功部署
    1. UP

    测试管理升级

    • 升级服务
    1. helm upgrade test-manager-service c7n/test-manager-service \
    2. -f <(helm get values test-manager-service) \
    3. --version 0.16.0
    • 验证部署

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=test-manager-service -o jsonpath="{.items[0].status.podIP}"):8094/actuator/health | jq -r .status
    • 出现以下类似信息即为成功部署
    1. UP
    • 升级XWiki

    XWiki-0.16.0版本需要依赖Choerodon微服务框架的0.16.0版本功能,在升级XWiki之前,请确保Choerodon微服务框架已经升级到0.16.0版本。

    • 升级xwiki
    1. helm upgrade xwiki c7n/xwiki \
    2. -f <(helm get values xwiki) \
    3. --version 0.16.0
    • 等待xwiki安装启动完成,使用admin用户登录wiki系统(直接访问wiki系统的域名),然后点击顶部导航栏右侧的齿轮(设置)按钮,进入系统设置: 设置->内容->导入 ,进入到导入的设置页,然后上传Choerodon-wiki-0.16.0-update.xar更新包 ,下载。

    • 上传成功之后,点击刚上传的xar包,在页面右侧会出现需要导入的包的内容,滚动页面到最下方,点击导入按钮,等待导入完成即可。

    • 升级wiki service

      • 获取上一次部署时的参数
    1. helm get values wiki-service
    • 根据上一次部署时的参数,替换下面参数,升级服务
    1. helm upgrade wiki-service c7n/wiki-service \
    2. --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    3. --set preJob.preConfig.datasource.username=choerodon \
    4. --set preJob.preConfig.datasource.password=password \
    5. --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/wiki_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \
    6. --set preJob.preInitDB.datasource.username=choerodon \
    7. --set preJob.preInitDB.datasource.password=password \
    8. --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \
    9. -f <(helm get values wiki-service) \
    10. --version 0.16.0
    • 验证部署

      • 验证命令
    1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=wiki-service -o jsonpath="{.items[0] .status.podIP}"):9991/actuator/health | jq -r .status
    1. - 出现以下类似信息即为成功部署<code>

    UP

    整合前端升级

    • 升级服务
    1. helm upgrade choerodon-front c7n/choerodon-front \
    2. -f <(helm get values choerodon-front) \
    3. --version 0.16.2
      • 验证命令
      • 出现以下类似信息即为成功升级