微服务开发框架升级

开始进行升级部署前请先备份好数据库。 请按以下顺序依次进行升级部署,请不要随意调整升级顺序。升级后可能数据库结构会发生改变,故不能进行版本回退。文档升级命令中的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

升级 register server

  • 升级服务

    1. helm upgrade register-server c7n/go-register-server \
    2. -f <(helm get values register-server) \
    3. --version 0.20.2
  • 验证升级

    • 验证命令
    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. ...
    11. "metadata": {
    12. "VERSION": "0.20.2"
    13. },
    14. }
    15. ]
    16. }

升级 manager service

  • 升级服务

    1. helm upgrade manager-service c7n/manager-service \
    2. -f <(helm get values manager-service) \
    3. --version 0.20.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.20.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

升级 notify service

  • 升级服务

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

    • 验证命令
    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

升级 base service

  • 环境变量

    1. preJob:
    2. preInitDB:
    3. datasource:
    4. # 初始化数据库,更新数据的时候忽略的表或列
    5. # 在excel中有默认值的表,在初始化更新表时不想恢复到默认值,可进行设置
    6. exclusion: iam_user.hash_password,oauth_client.web_server_redirect_uri,oauth_ldap.server_address,oauth_ldap.object_class,iam_role.is_enabled,fd_organization.name
  • 升级服务

    1. helm upgrade base-service c7n/base-service \
    2. -f <(helm get values base-service) \
    3. --version 0.20.1
  • 验证部署

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

升级api gateway

  • 升级服务

    1. helm upgrade api-gateway c7n/api-gateway \
    2. -f <(helm get values api-gateway) \
    3. --version 0.20.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

升级oauth server

  • 升级服务

    1. helm upgrade oauth-server c7n/oauth-server \
    2. -f <(helm get values oauth-server) \
    3. --version 0.20.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.20.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

敏捷管理升级

升级 agile service

  • 升级服务

    1. helm upgrade agile-service c7n/agile-service \
    2. -f <(helm get values agile-service) \
    3. --version 0.20.1
  • 注意: 请跟踪 agile service pod 的日志,直至出现以下日志

    1. ==============================>>>>>>>> AGILE Data Migrate Start <<<<<<<<=================================
  • 验证升级

    • 验证命令
    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
    • 出现以下类似信息即为成功升级
    1. UP

升级 test manager service

请再次确认数据库已备份完成。 请再次确认 agile service 已经完全部署成功,再进行 test manager service 的部署工作!!!

  • 升级服务

    • 提高内存资源使用请求及限制
    • 追加 Mysql 数据库链接地址中的参数,请按实际情况进行填写
    • 增加 SERVICES_ATTACHMENT_URL 环境变量,配置为 minio 的地址
    1. helm upgrade test-manager-service c7n/test-manager-service \
    2. -f <(helm get values test-manager-service) \
    3. --set resources.limits.memory=3Gi \
    4. --set resources.requests.memory=3Gi \
    5. --set env.open.SPRING_DATASOURCE_URL='jdbc:mysql://c7n-mysql.c7n-system.svc:3306/test_manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai' \
    6. --set env.open.SERVICES_ATTACHMENT_URL=http://minio.example.choerodon.io \
    7. --version 0.20.2
  • 注意: 请跟踪 test manager service pod 的日志,直至出现以下日志

    1. ==========================>>>>>>>> Data Migrate Succeed!!! FINISHED!!! <<<<<<<<============================
  • 验证部署

    • 验证命令
    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

升级 knowledgebase service

  • 升级服务

    1. helm upgrade knowledgebase-service c7n/knowledgebase-service \
    2. -f <(helm get values knowledgebase-service) \
    3. --version 0.20.0
  • 验证部署

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

DevOps服务升级

升级gitlab service

  • 升级gitlab-service

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

    • 验证命令
    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 upgrade workflow-service c7n/workflow-service \
    2. -f <(helm get values workflow-service) \
    3. --version 0.20.0
  • 验证升级

    • 验证命令
    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

升级devops service

  • 升级devops-service:

    1. helm upgrade devops-service c7n/devops-service \
    2. --set env.open.AGENT_VERSION="0.20.2" \
    3. -f <(helm get values devops-service) \
    4. --version 0.20.8
    • 验证命令
    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

整合前端升级

  • 升级服务

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

    • 验证命令
    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>