基础组件调整

0.12版本我们去掉了zookeeper和kafka组件,故依赖这两个组件的服务参数需要做出调整。

微服务开发框架升级

请按以下顺序依次进行升级部署,请不要随意调整升级顺序。升级后可能数据库结构会发生改变,故不能进行版本回退。文档升级命令中的RELEASE NAME是在基于分步安装文档之上编写的,若你在安装时指定了其他RELEASE NAME,请以你安装时指定的RELEASE NAME为准。一键部署安装的请执行helm list命令查看RELEASE NAME。

添加Choerodon Chart仓库

  1. helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
  2. helm repo update

注意事项

  • 如果报错提示job已存在,直接直接下述命令删除历史job即可
  1. kubectl delete job --all -n c7n-system

升级register server

  • 升级服务
  1. helm upgrade register-server c7n/go-register-server \
  2. -f <(helm get values register-server) \
  3. --version 0.12.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.12.0"
  34. },
  35. "homePageUrl": "http://10.233.64.95:8000/",
  36. "statusPageUrl": "http://10.233.64.95:8000/info",
  37. "healthCheckUrl": "http://10.233.64.95:8000/health",
  38. "vipAddress": "go-register-server",
  39. "secureVipAddress": "go-register-server",
  40. "isCoordinatingDiscoveryServer": true,
  41. "lastUpdatedTimestamp": 1545095590,
  42. "lastDirtyTimestamp": 1545095590,
  43. "actionType": "ADDED"
  44. }
  45. ]
  46. }

升级config server

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

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

升级manager service

0.12版本manager service需要连接Redis数据库,请根据集群内的Redis数据库地址,替换以下参数env.open.SPRING_REDIS_HOST、env.open.SPRING_REDIS_PORT的值。
  • 升级服务(注意redis地址如果您使用一键安装请修改为redis.c7n-system.svc)
  1. helm upgrade manager-service c7n/manager-service \
  2. --set env.open.SPRING_REDIS_HOST=c7n-redis.c7n-system.svc \
  3. --set env.open.SPRING_REDIS_PORT=6379 \
  4. --set env.open.SPRING_REDIS_DATABASE=1 \
  5. -f <(helm get values manager-service) \
  6. --version 0.12.1
  • 验证升级

    • 验证命令
  1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=manager-service -o jsonpath="{.items[0].status.podIP}"):8964/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.12.1
  • 验证升级

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

升级notify service

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

    • 验证命令
  1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=notify-service -o jsonpath="{.items[0].status.podIP}"):18086/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.12.1
  • 验证升级

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

升级api gateway

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

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

升级gateway helper

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

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

升级oauth server

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

    • 验证命令
  1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=oauth-server -o jsonpath="{.items[0].status.podIP}"):8021/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.12.0
  • 验证升级

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

DevOps服务升级

升级devops service

0.12版本devops service增加了env.open.TEMPLATE_VERSION_CHOERODONMOCHATEMPLATE和env.open.AGENT_CERTMANAGERURL两个参数。并且env.open.TEMPLATE_VERSION_MICROSERVICE、env.open.TEMPLATE_VERSION_MICROSERVICEFRONT、env.open.TEMPLATE_VERSION_JAVALIB均为0.9.0版本。
  • 升级服务
  1. helm upgrade devops-service c7n/devops-service \
  2. --set env.open.TEMPLATE_VERSION_MICROSERVICE="0.9.0" \
  3. --set env.open.TEMPLATE_VERSION_MICROSERVICEFRONT="0.9.0" \
  4. --set env.open.TEMPLATE_VERSION_JAVALIB="0.9.0" \
  5. --set env.open.TEMPLATE_VERSION_CHOERODONMOCHATEMPLATE="0.12.1" \
  6. --set env.open.AGENT_VERSION="0.12.0" \
  7. --set env.open.AGENT_CERTMANAGERURL="https://openchart.choerodon.com.cn/choerodon/infra/" \
  8. -f <(helm get values devops-service) \
  9. --version 0.12.2
  • 验证升级

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

升级gitlab service

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

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

敏捷管理升级

0.12版本agile service需要连接wiki,请根据集群内的wiki地址和OIDC TOKEN值,替换以下参数env.open.SERVICES_WIKI_HOST、env.open.SERVICES_WIKI_TOKEN的值。注意env.open.SERVICES_WIKI_TOKEN与xwiki的env.OIDC_ENDPOINT_TOKEN、wiki-service的env.open.WIKI_TOKEN 这三者的值必须一致。可使用helm get values xwiki查看并使用env.OIDC_ENDPOINT_TOKEN中的token值。

升级agile service

  • 升级服务
  1. helm upgrade agile-service c7n/agile-service \
  2. --set env.open.SERVICES_WIKI_HOST="http://wiki.example.choerodon.io" \
  3. --set env.open.SERVICES_WIKI_TOKEN="Choerodon" \
  4. -f <(helm get values agile-service) \
  5. --version 0.12.1
  • 验证升级

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

升级state machine service

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

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

升级issue service

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

    • 验证命令
  1. curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=issue-service -o jsonpath="{.items[0].status.podIP}"):8381/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.12.2
  • 验证部署

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

知识管理升级

请注意:xwiki的env.OIDC_ENDPOINT_TOKEN、wiki-service的env.open.WIKI_TOKEN与agile-service 的env.open.SERVICES_WIKI_TOKEN这三者的值必须一致。
  • 升级XWiki

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

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

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

  • 升级wiki-service服务
  1. helm upgrade wiki-service c7n/wiki-service \
  2. -f <(helm get values wiki-service) \
  3. --version 0.12.0

整合前端升级

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

    • 验证命令
  1. curl $(kubectl get svc choerodon-front -o jsonpath="{.spec.clusterIP}" -n c7n-system)
  • 出现以下类似信息即为成功升级
  1. <!DOCTYPE html><html><head><meta http-equiv="Content-type"content="text/html; charset=utf-8"><title>Choerodon</title><link rel="shortcut icon"href="favicon.ico"></head><body><div id="app"></div><script type="text/javascript"src="app/vendor_19e4b950.js"></script><script type="text/javascript"src="app/main_19e4b950.js"></script></body></html>