微服务开发框架升级
请按以下顺序依次进行升级部署,请不要随意调整升级顺序。升级后可能数据库结构会发生改变,故不能进行版本回退。文档升级命令中的RELEASE NAME是在基于分步安装文档之上编写的,若你在安装时指定了其他RELEASE NAME,请以你安装时指定的RELEASE NAME为准。一键部署安装的请执行helm list命令查看RELEASE NAME。
添加Choerodon Chart仓库
helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
helm repo update
注意事项
如果报错提示job已存在,直接执行下述命令删除历史job即可
kubectl delete job --all -n c7n-system
升级register server
升级服务
helm upgrade register-server c7n/go-register-server \ -f <(helm get values register-server) \ --version 0.16.0
验证升级
验证命令
curl $(kubectl get svc register-server -o jsonpath="{.spec.clusterIP}" -n c7n-system):8000/eureka/apps
出现以下类似信息即为成功升级
{ "name": "go-register-server", "instance": [ { "instanceId": "10.233.64.95:go-register-server:8000", "hostName": "10.233.64.95", "app": "go-register-server", "ipAddr": "10.233.64.95", "status": "UP", "overriddenstatus": "UNKNOWN", "port": { "@enabled": true, "$": 8000 }, "securePort": { "@enabled": false, "$": 443 }, "countryId": 8, "dataCenterInfo": { "name": "MyOwn", "@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo" }, "leaseInfo": { "renewalIntervalInSecs": 10, "durationInSecs": 90, "registrationTimestamp": 1545095590, "lastRenewalTimestamp": 1545095590, "evictionTimestamp": 0, "serviceUpTimestamp": 1545095590 }, "metadata": { "VERSION": "0.15.0" }, ... } ] }
升级config server
升级服务
helm upgrade config-server c7n/config-server \ -f <(helm get values config-server) \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级manager service
升级服务
helm upgrade manager-service c7n/manager-service \ -f <(helm get values manager-service) \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级asgard service
升级服务
helm upgrade asgard-service c7n/asgard-service \ -f <(helm get values asgard-service) \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级notify service
升级服务
helm upgrade notify-service c7n/notify-service \ -f <(helm get values notify-service) \ --version 0.16.0
验证部署
验证命令
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
出现以下类似信息即为成功部署
UP
升级iam service
升级服务
helm upgrade iam-service c7n/iam-service \ -f <(helm get values iam-service) \ --version 0.16.0
验证升级
验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=iam-service -o jsonpath="{.items[0].status.podIP}"):8031/actuator/health | jq -r .status
出现以下类似信息即为成功升级
UP
升级api gateway
升级服务
helm upgrade api-gateway c7n/api-gateway \ -f <(helm get values api-gateway) \ --set preJob.preConfig.configType="k8s" \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级gateway helper
升级服务
helm upgrade gateway-helper c7n/gateway-helper \ -f <(helm get values gateway-helper) \ --set preJob.preConfig.configType="k8s" \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级oauth server
升级服务
helm upgrade oauth-server c7n/oauth-server \ -f <(helm get values oauth-server) \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级file service
升级服务
helm upgrade file-service c7n/file-service \ -f <(helm get values file-service) \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
DevOps服务升级
升级devops service
升级服务
helm upgrade devops-service c7n/devops-service \ --set env.open.TEMPLATE_VERSION="0.16.0" \ --set env.open.AGENT_VERSION="0.16.0" \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ -f <(helm get values devops-service) \ --version 0.16.4
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级gitlab service
获取上一次部署时的参数
helm get values gitlab-service
根据上一次部署时的参数,替换下面参数,升级服务
helm upgrade gitlab-service c7n/gitlab-service \ --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preConfig.datasource.username=choerodon \ --set preJob.preConfig.datasource.password=password \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ -f <(helm get values gitlab-service) \ --version 0.16.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
出现以下类似信息即为成功升级
UP
部署workflow service
创建workflow-service数据库
helm install c7n/mysql-client \ --set env.MYSQL_HOST=c7n-mysql.c7n-system.svc \ --set env.MYSQL_PORT=3306 \ --set env.MYSQL_USER=root \ --set env.MYSQL_PASS=password \ --set env.SQL_SCRIPT="\ CREATE DATABASE IF NOT EXISTS workflow_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\ GRANT ALL PRIVILEGES ON workflow_service.* TO choerodon@'%';\ FLUSH PRIVILEGES;" \ --version 0.1.0 \ --name create-c7nworkflow-db \ --namespace c7n-system
部署服务
helm install c7n/workflow-service \ --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preConfig.datasource.username=choerodon \ --set preJob.preConfig.datasource.password=password \ --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/workflow_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preInitDB.datasource.username=choerodon \ --set preJob.preInitDB.datasource.password=password \ --set env.open.SPRING_DATASOURCE_URL="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/workflow_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \ --set env.open.SPRING_DATASOURCE_PASSWORD=password \ --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \ --set env.open.SPRING_REDIS_HOST=c7n-redis.c7n-system.svc \ --set env.open.SPRING_REDIS_DATABASE=11 \ --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ --name workflow-service \ --version 0.16.2 \ --namespace c7n-system
参数名 含义 service.enable 是否创建service preJob.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 注册服务地址 验证部署
验证命令
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
出现以下类似信息即为成功部署
UP
敏捷管理升级
升级agile service
获取上一次部署时的参数
helm get values agile-service
根据上一次部署时的参数,替换下面参数,升级服务
helm upgrade agile-service c7n/agile-service \ --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preConfig.datasource.username=choerodon \ --set preJob.preConfig.datasource.password=password \ --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/agile_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preInitDB.datasource.username=choerodon \ --set preJob.preInitDB.datasource.password=password \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ -f <(helm get values agile-service) \ --version 0.16.2
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级state machine service
获取上一次部署时的参数
helm get values state-machine-service
根据上一次部署时的参数,替换下面参数,升级服务
helm upgrade state-machine-service c7n/state-machine-service \ --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preConfig.datasource.username=choerodon \ --set preJob.preConfig.datasource.password=password \ --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/state_machine_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preInitDB.datasource.username=choerodon \ --set preJob.preInitDB.datasource.password=password \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ -f <(helm get values state-machine-service) \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
升级issue service
获取上一次部署时的参数
helm get values state-machine-service
根据上一次部署时的参数,替换下面参数,升级服务
helm upgrade issue-service c7n/issue-service \ --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preConfig.datasource.username=choerodon \ --set preJob.preConfig.datasource.password=password \ --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/issue_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preInitDB.datasource.username=choerodon \ --set preJob.preInitDB.datasource.password=password \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ -f <(helm get values issue-service) \ --version 0.16.0
验证升级
验证命令
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
出现以下类似信息即为成功升级
UP
部署foundation service
创建foundation-service数据库
helm install c7n/mysql-client \ --set env.MYSQL_HOST=c7n-mysql.c7n-system.svc \ --set env.MYSQL_PORT=3306 \ --set env.MYSQL_USER=root \ --set env.MYSQL_PASS=password \ --set env.SQL_SCRIPT="\ CREATE DATABASE IF NOT EXISTS foundation_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\ GRANT ALL PRIVILEGES ON foundation_service.* TO choerodon@'%';\ FLUSH PRIVILEGES;" \ --version 0.1.0 \ --name create-c7foundation-db \ --namespace c7n-system
部署服务
helm install c7n/foundation-service \ --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preConfig.datasource.username=choerodon \ --set preJob.preConfig.datasource.password=password \ --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/foundation_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preInitDB.datasource.username=choerodon \ --set preJob.preInitDB.datasource.password=password \ --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" \ --set env.open.SPRING_DATASOURCE_USERNAME=choerodon \ --set env.open.SPRING_DATASOURCE_PASSWORD=password \ --set env.open.EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://register-server.c7n-system:8000/eureka/" \ --set env.open.SPRING_CLOUD_CONFIG_ENABLED=true \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ --name foundation-service \ --version 0.16.0 \ --namespace c7n-system
参数名 含义 preJob.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 注册服务地址 验证部署
验证命令
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
出现以下类似信息即为成功部署
UP
测试管理升级
升级服务
helm upgrade test-manager-service c7n/test-manager-service \ -f <(helm get values test-manager-service) \ --version 0.16.0
验证部署
验证命令
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
出现以下类似信息即为成功部署
UP
知识管理升级
升级XWiki
XWiki-0.16.0版本需要依赖Choerodon微服务框架的0.16.0版本功能,在升级XWiki之前,请确保Choerodon微服务框架已经升级到0.16.0版本。
升级xwiki
helm upgrade xwiki c7n/xwiki \ -f <(helm get values xwiki) \ --version 0.16.0
等待xwiki安装启动完成,使用admin用户登录wiki系统(直接访问wiki系统的域名),然后点击顶部导航栏右侧的齿轮(设置)按钮,进入系统设置: 设置->内容->导入 ,进入到导入的设置页,然后上传
Choerodon-wiki-0.16.0-update.xar
更新包 ,下载地址。上传成功之后,点击刚上传的xar包,在页面右侧会出现需要导入的包的内容,滚动页面到最下方,点击
导入
按钮,等待导入完成即可。升级wiki service
获取上一次部署时的参数
helm get values wiki-service
根据上一次部署时的参数,替换下面参数,升级服务
helm upgrade wiki-service c7n/wiki-service \ --set preJob.preConfig.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/manager_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preConfig.datasource.username=choerodon \ --set preJob.preConfig.datasource.password=password \ --set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql.c7n-system.svc:3306/wiki_service?useUnicode=true&characterEncoding=utf-8&useSSL=false" \ --set preJob.preInitDB.datasource.username=choerodon \ --set preJob.preInitDB.datasource.password=password \ --set env.open.SPRING_CLOUD_CONFIG_URI="http://register-server.c7n-system:8000/" \ -f <(helm get values wiki-service) \ --version 0.16.0
验证部署
- 验证命令
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
- 出现以下类似信息即为成功部署
UP
- 验证命令
整合前端升级
升级服务
helm upgrade choerodon-front c7n/choerodon-front \ -f <(helm get values choerodon-front) \ --version 0.16.2
验证升级
验证命令
curl $(kubectl get svc choerodon-front -o jsonpath="{.spec.clusterIP}" -n c7n-system)
出现以下类似信息即为成功升级
<!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>