更新时间:2024-09-25 18:29:12

1 场景介绍

适用于Proton Runtime 2.12.0+版本

2 准备工作

若Proton Runtime为2.16.x版本,请先执行补丁: 【技术工程院】-【Y,2.17.0】【缺陷】- 原地更新deploymentstudio后,上层模块化服务的依赖项(例如rds)丢失(位于Proton 2.16.x及AnyShare 7.0.5.6补丁包发布目录下)

3 修改数据库密码

注意:此处以内置数据库为例,若使用外置数据库,请自行登录外置数据库修改密码

登录MariaDB,修改数据库密码

  • 修改root密码,执行:ALTER USER 'root'@'%' IDENTIFIED BY '新密码';
  • 修改普通用户密码(例如:anyshare用户),执行:ALTER USER 'anyshare'@'%' IDENTIFIED BY '新密码';

修改数据库密码.png

4 修改数据库配置

通过proton-cli更新配置中的MariaDB密码

4.1 获取当前集群配置

执行:kubectl get secret -n proton proton-cli-config -o jsonpath= ' {.data.ClusterConfiguration} ' | base64 -d > proton-cli-config.yaml

获取集群配置示例.png

4.2 编辑配置文件

将mariadb配置中密码变更为新修改的密码,执行:vim proton-cli-config.yaml
如图所示:

修改密码1.png

修改密码2.png

使用base64将配置文件进行编码,执行:base64 proton-cli-config.yaml -w0

base64编码.png

编辑secret,将其中的data.ClusterConfiguration替换为第3步编码后的内容,执行:kubectl edit secret -n proton proton-cli-config -o yaml
替换data.ClusterConfiguration内容后,保存退出

编辑etcd示例.png

4.3 重启服务使生效

4.3.1 重启部署服务

  1. 重启deploy-installer服务,执行:kubectl -n anyshare delete pod deploy-installer-0

重启服务示例.png

  1. 重启deploy-service服务,执行:kubectl -n anyshare delete pod <deploy-service-xxx>

    重启服务示例2.png

注意:重启DeploymentStudio时,父组件更新阶段会自动更新所有依赖数据库rds组件的上层应用组件,因此DeploymentStudio更新完成后无需再更新其他模块化服务

  1. 重启DeploymentStudio,进入容器deploy-installer-0,搜索DeploymentStudio,查询到其aid,创建job,更新DeploymentStudio,依次执行:
   kubectl -n anyshare exec -it deploy-installer-0 bash
   installer app search DeploymenyStudio
   installer job create <aid> -j jv.json
   installer job set <jobID> -j jv.json
   installer job execute <jobID>

更新示例.png

  1. 等待更新完成

    更新成功示例.png

4.3.3 重启各模块化服务

重启所有业务pod,执行:kubectl -nanyshare delete po --all

等待服务重启完成

服务重启完成示例.png

5 检查更新后业务状态

  1. 检查依赖MariaDB的服务中MariaDB密码是否更新成功
    例如:身份认证模块中的hydra服务,执行:helm3 get values hydra -n anyshare

确认服务密码是否更新成功.png

  1. 检查服务状态是否正常

检查服务状态是否正常.png

  1. 验证上层业务是否正常,例如:用户管理、上传下载等功能