基础组件升级
升级 harbor
开始升级 Harbor 前请先将 Harbor的数据库 *registery* 备份
数据库表结构不能自动降级,因此不支持使用 `helm rollback` 命令回滚版本。
如果启用了 TLS 证书并且证书是 Chart 自动生成的,那么升级过程中会生成新证书并覆盖旧证书。可以按照下面的步骤配置旧证书:
找到以
-harbor-ingress
结尾的 secret,并导出保存为yaml 文件。kubectl get secret -n c7n-system
kubectl get secret <secret-name-from-step-1> -o yaml > harbor-core-ingress.yaml
修改 harbor-core-ingress.yaml 中的
metadata.name
以重命名 secret创建新的 secret
kubectl create -f harbor-core-ingress.yaml -n c7n-system
在 Chart 中配置新的 secret 名
expose:
tls:
certSource: secret
secretName: <secret-name-from-step-2>
首先需要将 harbor 升级到 1.10.1
helm upgrade harbor c7n/harbor --version 1.3.6 -n c7n-system
再将 habor 升级到 2.1.4
helm upgrade harbor c7n/harbor --version 1.5.4 \
-f <(helm get values -n c7n-system harbor) \
--set persistence.persistentVolumeClaim.trivy.storageClass=nfs-provisioner \
-n c7n-system
微服务开发框架升级
开始进行升级部署前请先备份好配置和数据库!
请按以下顺序依次进行升级部署,请不要随意调整升级顺序。升级后可能数据库结构会发生改变,故不能进行版本回退。文档升级命令中的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
清理 Redis
oauth的redis db3 需要清理掉 手动清理!!! 原因是相同的key前后两个版本类型不一致
升级 choerodon register
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-register。
升级服务
helm upgrade --install choerodon-register c7n/choerodon-register \
-f <(helm get values -n c7n-system choerodon-register) \
--version 0.25.1 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get svc choerodon-register -o jsonpath="{.spec.clusterIP}" -n c7n-system):8001/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
升级 choerodon platform
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-platform。
升级服务
helm upgrade --install choerodon-platform c7n/choerodon-platform \
-f <(helm get values -n c7n-system choerodon-platform) \
--set preJob.image=registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.8.0 \
--version 0.25.1 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-platform -o jsonpath="{.items[0].status.podIP}"):8101/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
升级 choerodon admin
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-admin。
升级服务
helm upgrade --install choerodon-admin c7n/choerodon-admin \
-f <(helm get values -n c7n-system choerodon-admin) \
--set preJob.image=registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.8.0 \
--version 0.25.0 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-admin -o jsonpath="{.items[0].status.podIP}"):8063/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
升级 choerodon iam
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-iam。 cat
升级服务
helm upgrade --install choerodon-iam c7n/choerodon-iam \
-f <(helm get values -n c7n-system choerodon-iam) \
--set preJob.image=registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.8.0 \
--version 0.25.10 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-iam -o jsonpath="{.items[0].status.podIP}"):8031/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
升级 choerodon asgard
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-asgard。
升级服务
helm upgrade --install choerodon-asgard c7n/choerodon-asgard \
-f <(helm get values -n c7n-system choerodon-asgard) \
--set preJob.image=registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.8.0 \
--version 0.25.2 \
--namespace c7n-system
验证升级
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-asgard -o jsonpath="{.items[0].status.podIP}"):8041/actuator/health | jq -r .status
- 出现以下类似信息即为成功升级
UP
升级 choerodon message
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-message。
升级服务
helm upgrade --install choerodon-message c7n/choerodon-message \
-f <(helm get values -n c7n-system choerodon-message) \
--set preJob.image=registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.8.0 \
--version 0.25.3 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-message -o jsonpath="{.items[0].status.podIP}"):8121/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 choerodon swagger
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-swagger。
编写参数配置文件
choerodon-swagger.yaml
升级服务
helm upgrade --install choerodon-swagger c7n/choerodon-swagger \
--set preJob.image=registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.8.0 \
-f <(helm get values -n c7n-system choerodon-swagger) \
--version 0.25.0 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-swagger -o jsonpath="{.items[0].status.podIP}"):8051/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
升级 choerodon gateway
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-gateway。
升级服务
helm upgrade --install choerodon-gateway c7n/choerodon-gateway \
-f <(helm get values -n c7n-system choerodon-gateway) \
--version 0.25.2 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-gateway -o jsonpath="{.items[0].status.podIP}"):8081/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
升级 choerodon oauth
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-oauth。
升级服务
helm upgrade --install choerodon-oauth c7n/choerodon-oauth \
-f <(helm get values -n c7n-system choerodon-oauth) \
--version 0.25.5 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-oauth -o jsonpath="{.items[0].status.podIP}"):8021/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
升级 choerodon monitor
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-monitor。
升级服务
helm upgrade --install choerodon-monitor c7n/choerodon-monitor \
-f <(helm get values -n c7n-system choerodon-monitor) \
--set preJob.image=registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.8.0 \
--version 0.25.0 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-monitor -o jsonpath="{.items[0].status.podIP}"):8261/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
升级 choerodon file
若需了解项目详情及各项参数含义,请移步 open-hand/choerodon-file
升级服务
helm upgrade --install choerodon-file c7n/choerodon-file \
-f <(helm get values -n c7n-system choerodon-file) \
--set preJob.image=registry.cn-shanghai.aliyuncs.com/c7n/dbtool:0.8.0 \
--version 0.25.7 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=choerodon-file -o jsonpath="{.items[0].status.podIP}"):8111/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
敏捷管理升级
- 开始进行升级部署前请先备份好数据库。
- 由于要修数据,务必停掉前端、后端访问入口,防止修数据过程中访问接口导致的脏数据
- 一次性修数据任务job,考虑多pod的修数据情况,建议最好只启动一个pod修数据
升级 agile service
- 开始进行升级部署前请先备份好数据库。
升级服务
helm upgrade agile-service c7n/agile-service \
-f <(helm get values -n c7n-system agile-service) \
--version 0.25.5 \
--namespace c7n-system
注意: 请务必跟踪 agile service pod 的日志,直至出现以下日志后,数据迁移修复成功
==============================>>>>>>>> AGILE Data Fix End, Success! Version: 0.25.0 <<<<<<<<=================================
验证升级
- 验证命令
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
升级 test manager service
- 开始进行升级部署前请先备份好数据库。
升级服务
helm upgrade test-manager-service c7n/test-manager-service \
-f <(helm get values -n c7n-system test-manager-service) \
--set env.open.SERVICES_FRONT_URL=app.example.choerodon.io \
--version 0.25.6 \
--namespace c7n-system
验证部署
- 验证命令
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
升级 knowledgebase service
升级 elasticsearch
helm upgrade --install elasticsearch-kb c7n/elasticsearch-kb \
-f <(helm get values -n c7n-system elasticsearch-kb) \
--version 0.25.0 \
--namespace c7n-system
升级服务
helm upgrade knowledgebase-service c7n/knowledgebase-service \
-f <(helm get values -n c7n-system knowledgebase-service) \
--version 0.25.0 \
--namespace c7n-system
验证部署
- 验证命令
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
- 出现以下类似信息即为成功部署
UP
DevOps服务升级
升级gitlab service
升级gitlab-service
helm upgrade gitlab-service c7n/gitlab-service \
-f <(helm get values -n c7n-system gitlab-service) \
--version 0.25.0 \
--namespace c7n-system
验证升级
- 验证命令
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 upgrade workflow-service c7n/workflow-service \
-f <(helm get values -n c7n-system workflow-service) \
--set env.open.HWKF_WEB_DOMAIN_NAME=http://app.example.choerodon.io \
--set env.open.SPRING_REDIS_HOST=c7n-redis.c7n-system.svc \
--set env.open.SPRING_REDIS_PORT=6379 \
--set env.open.SPRING_REDIS_DATABASE=1 \
--set preJob.preInitDB.datasource.url="jdbc:mysql://c7n-mysql:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai" \
--set preJob.preInitDB.datasource.username=choerodon \
--set preJob.preInitDB.datasource.password=password \
--set preJob.preInitDB.datasources.platform.url="jdbc:mysql://c7n-mysql:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai" \
--set preJob.preInitDB.datasources.platform.username=choerodon \
--set preJob.preInitDB.datasources.platform.password=password \
--set preJob.preInitDB.datasources.message.url="jdbc:mysql://c7n-mysql:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai" \
--set preJob.preInitDB.datasources.message.username=choerodon \
--set preJob.preInitDB.datasources.message.password=password \
--set resources.limits.memory=3Gi \
--set resources.requests.memory=3Gi \
--version 0.25.2 \
--namespace c7n-system
验证升级
- 验证命令
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
升级devops service
升级devops-service:
helm upgrade devops-service c7n/devops-service \
-f <(helm get values -n c7n-system devops-service) \
--set env.open.AGENT_VERSION="0.25.2" \
--set preJob.preInitDB.datasources.message.url="jdbc:mysql://c7n-mysql:3306/?useUnicode=true&characterEncoding=utf-8&useSSL=false&useInformationSchema=true&remarks=true&serverTimezone=Asia/Shanghai" \
--set preJob.preInitDB.datasources.message.username=choerodon \
--set preJob.preInitDB.datasources.message.password=password \
--version 0.25.9 \
--namespace c7n-system
- 验证命令
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
制品库升级
在此之前,应该准备好Mysql、Harbor、Gitlab、Minio,Chartmuseum、Nexus这些组件的信息。按以下搭建顺序进行搭建,请不要随意调整搭建顺序。
部署 code repo service
若需了解项目详情及各项参数含义,请移步 open-hand/code-repo-service。
部署服务
helm upgrade --install code-repo-service c7n/code-repo-service \
-f <(helm get values -n c7n-system code-repo-service) \
--version 0.25.4 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=code-repo-service -o jsonpath="{.items[0].status.podIP}"):7141/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
部署 prod-repo-service
若需了解项目详情及各项参数含义,请移步 open-hand/prod-repo-service。
部署服务
helm upgrade --install prod-repo-service c7n/prod-repo-service \
-f <(helm get values -n c7n-system prod-repo-service) \
--set env.open.HARBOR_API_VERSION="v2" \
--version 0.25.10 \
--namespace c7n-system
验证部署
- 验证命令
curl -s $(kubectl get po -n c7n-system -l choerodon.io/release=prod-repo-service -o jsonpath="{.items[0].status.podIP}"):7145/actuator/health | jq -r .status
- 出现以下类似信息即为成功部署
UP
整合前端升级
安装choerodon-front-hzero
编写参数配置文件
choerodon-front-hzero.yaml
env:
open:
BUILD_CLIENT_ID: choerodon
BUILD_API_HOST: http://api.example.choerodon.io
BUILD_WEBSOCKET_HOST: http://api.example.choerodon.io/hpfm/sock-js
ingress:
enabled: true
host: hzero.example.choerodon.io
部署服务
helm upgrade --install choerodon-front-hzero c7n/choerodon-front-hzero \
-f choerodon-front-hzero.yaml \
--version 0.25.0 \
--namespace c7n-system
验证部署
验证命令
curl $(kubectl get svc choerodon-front-hzero -o jsonpath="{.spec.clusterIP}" -n c7n-system):80
出现以下类似信息即为成功部署
!doctype html><html lang="zh"><head><meta charset="utf-8"/><title>HZERO</title><link rel="shortcut icon" href="/manifest.json"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><meta name="format-detection" content="telephone=no"/>...
升级choerodon-front
升级服务
helm upgrade choerodon-front c7n/choerodon-front \
-f <(helm get values -n c7n-system choerodon-front) \
--version 0.25.4 \
--namespace c7n-system
验证升级
- 验证命令
curl $(kubectl get svc choerodon-front -o jsonpath="{.spec.clusterIP}" -n c7n-system):8080
- 出现以下类似信息即为成功升级
<!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>
默认登录用户
升级完成后,默认的管理员用户名密码为 [admin/Admin@123!],可使用此用户密码登陆系统。安装完成后建议立即在个人中心修改默认密码。
项目类型同步
使用 admin 用户 token GET 方式调用 https://api.choerodon.com.cn/iam/choerodon/v1/upgrade/pro/project-category
。
刷新组织角色权限
使用 admin 用户 token PUT方式调用https://api.example.com./iam/choerodon/v1/permission/role_permission_async
。
菜单同步
重启 choerodon-iam 或者使用 admin 用户 token PUT方式调用https://api.example.com./iam/choerodon/v1/permission/role_permission_async
。
刷新 lov
重启 choerodon-platform,刷新 lov 缓存
更改Minio Bucket权限
如果0.22升级时已经更改,可忽略该操作。
对于之前0.22版本之前创建的文件夹,需要手动在minio界面更改权限为( * Read and Write)。