海纳云 1.2.0 → 1.3.0 版本升级文档

本文档说明 海纳云从 1.2.0 版本升级至 1.3.0 版本 的完整步骤及注意事项。

⚠️ 注意事项:

  • 升级过程需要 停机维护,期间海纳云将 无法对外提供服务
  • 升级时长约为 30 分钟至 1 小时,请提前通知相关业务部门。

一、执行 Cloudeon 中海纳云镜像升级 SQL

1. 登录 MySQL 容器

在部署海纳云的集群主节点上执行:

kubectl get pod -n mysql

查看 MySQL 容器运行情况:

执行 kubectl 命令查看 mysql 容器截图

进入 MySQL 容器后连接数据库(默认账号密码为 root / Root@123):

进入 MySQL 容器截图

切换至 cloudeon 数据库用户,并执行以下 SQL:

UPDATE ce_stack_service 
SET `version`='1.0.46' 
WHERE `NAME`='HINA-CLOUD';

UPDATE ce_stack_service 
SET `docker_image`='dockerhub.baofu.com/app/2023102400000017/hina-haishuu:1.0.46' 
WHERE `NAME`='HINA-CLOUD';

2. 回滚(如遇异常)

UPDATE ce_stack_service 
SET `version`='1.0.37' 
WHERE `NAME`='HINA-CLOUD';

UPDATE ce_stack_service 
SET `docker_image`='dockerhub.baofu.com/app/2023102400000017/hina-haishuu:1.0.37' 
WHERE `NAME`='HINA-CLOUD';

二、升级 Cloudeon 服务

1. 导入新版 Cloudeon,海纳云 镜像

下载 海纳云 和 cloudeon 新版镜像到主节点特定目录,比如下载到 /home/cloudeon/hina-cloud/1.3.0/
Cloudeon1.0.55镜像包
海纳云1.3.0版本镜像

在主节点执行以下命令导入镜像:

sudo ctr -n k8s.io images import /home/cloudeon/hina-cloud/1.3.0/cloudeon-software_1.0.55.tar

由于海纳云需要在各个节点导入,手动执行命令较为繁琐,因此编辑如下脚本放入保存为 distrbute_load_hina_cloud_1.3.0.sh 之前安装的 脚本目录 (script)

sh_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
cd $sh_dir
source ./base.sh

retrieve_node_ssh_info_in_background rsync_file_to_remote /home/cloudeon/hina-cloud

retrieve_node_ssh_info_in_background eval 'ssh -p "$node_port" "$node_user@$node_ip" "sudo ctr -n k8s.io images import /home/cloudeon/hina-cloud/1.3.0/hina-haishuu_1.0.46.tar"'

执行

chmod +x script/distrbute_load_hina_cloud_1.3.0.sh && ./script/distrbute_load_hina_cloud_1.3.0.sh

2. 修改 Cloudeon 部署镜像版本

退出 MySQL 容器后,在主机上执行:

kubectl edit deploy cloudeon -n cloudeon

image: 行修改为新版本镜像,例如:

image: dockerhub.baofu.com/app/cloudeon:1.0.55

kubectl edit 修改镜像截图

等待 Cloudeon 服务启动完成并状态恢复为 Ready

3. 回滚(如遇异常)

同样执行:

kubectl edit deploy cloudeon -n cloudeon

将镜像版本改回旧版本即可。


三、执行海纳云数据库升级 SQL

1. 进入 MySQL 容器并切换数据库

进入 MySQL 容器后,切换至 HINA_CLOUD 数据库:

切换至 HINA\_CLOUD 数据库截图

2. 执行升级脚本

升级前请务必 备份以下两张表

  • T_DATA_PROJECT_ROLE_MENU
  • T_BASE_MENU

执行升级脚本:

海纳云升级 SQL 下载链接

3. 回滚(如遇异常)

将备份的 T_DATA_PROJECT_ROLE_MENUT_BASE_MENU 表数据恢复即可。


四、升级海纳云服务

1. 删除旧版本服务

在 Cloudeon 界面中 删除海纳云服务,等待删除完成:

删除海纳云服务截图

2. 部署新版本海纳云

删除完成后,通过 Cloudeon 重新部署海纳云服务

部署海纳云服务截图

3. 回滚步骤

如升级失败,请按以下顺序回滚:

  1. 执行 步骤三 回滚数据库;
  2. 执行 步骤一 回滚镜像版本;
  3. 重新通过 Cloudeon 部署海纳云服务。

✅ 升级完成验证

  • 登录 Cloudeon 管理界面确认海纳云服务运行正常;
  • 检查数据库版本字段是否已更新;
  • 核实前端及后端功能均可正常访问。

另外,升级提供了 虚拟事件批量导入 程序

虚拟事件模板

虚拟事件批量导入包

说明:

  1. resources/virtual-import.properties 供用户修改数据库信息和项目信息,支持热改,无需重新打包。
  2. resources/template/虚拟事件定义模板.xlsx 为模板文件,供用户录入虚拟事件数据。
  3. resources/说明.txt 为导入准备工作说明。

使用方法

解压 虚拟事件导入zip 包得到
如图

修改 resources 下文件夹配置 virtual-import.properties,放入需要导入的虚拟事件数据到 template 文件夹中。
执行

java -jar hina-cloud-virtual-import.jar

关于京东 SSO 免登,在 Nacos 中有对应配置,在升级完成后需要调整 ,调整配置文件 hina-cloud-base.yam

如图

其中配置项含义

jd:
  sso:
    enable: true                                       #是否开启京东SSO登录开关
    url: https://ssa.jdtest.net                        #京东SSO登录授权地址
    appKey: test-hina-cloud                            #SSO登录 APP Key
    appToken: 4e976249c97e4f5da50426f46318a4c7         #SSO登录所需的 APP Token
    autoCreateUser: true                               #SSO登录是否自动创建用户

1. 由于海纳这边开发测试在测试环境下 https://ssa.jdtest.net 调试测试没有问题,所以需要升级后调整成为京东生产环境地址。
2. 京东根据自己的需求是否开启 SSO登录是否自动创建用户,如果设置为 false,则需要提前建立与 erp 对应的用户名的用户才可正常 SSO 登录