1 更新包准备
本次安装所涉及的更新包只需要上传到任一master节点上。
- 建立远程连接:使用SSH(比如Xshell、Putty等)工具,通过IP地址连接服务器后台,默认用户名root,默认port是22,密码为安装操作系统时设置的密码。
- 创建更新包目录:在/root目录下创建目录
mkdir -p ~/Upgradepackage/module/
- 上传更新检查工具:使用TFTP工具将预先下载到本地的upgrade_check_tool_*.tar.gz上传到
~/Upgradepackage/
- 上传依赖包:使用TFTP工具将预先下载到本地的依赖包上传到
~/Upgradepackage/
- 上传服务包:使用TFTP工具将预先下载到本地的部署工作台(镜像包、package包)、身份认证服务(镜像包、产品包)以及规划的产品模块化服务安装包,上传到
~/Upgradepackage/module/
注:x86平台请上传x86的依赖包和安装包,ARM平台请上传ARM的依赖包和安装包。
2 环境检查
进入Upgradepackage目录下解压更新检查工具:
cd ~/Upgradepackage && tar -zxf upgrade_check_tool_*.tar.gz
进入到解压后的目录,进行环境更新预检(x86执行示例):
./pre-check_tool_x86
- ARM环境执行pre-check_tool_arm工具
- 执行完成之后,根据预检生成的报告结果去准备好更新环境。
预期结果示例
3 推送镜像包和产品包
推送镜像前根据需要可以进行镜像的清理,清理步骤见 运维操作-其他-清除镜像
进行更新时,所有服务的镜像包均可使用proton-cli提前推送,推送镜像不影响业务正常使用,推送过程中业务无需停机。
注:确认已将安装包(镜像包、产品包) 上传到了 ~/package/module 目录下,(自定义命名空间默认为anyshare)
proton-cli package push --package ~/Upgradepackage/module/ -n 自定义命名空间
【说明】目录下存在非服务包和镜像包的其他文件,由于该类文件不支持推送,将在最终的推送报告中显示未知文件格式推送失败,该类错误忽略即可,仅需关注需要推送的镜像及产品包是否推送成功。
4 更新依赖包
注意:仅以X86平台举例
进入Upgradepackage目录下解压依赖:
cd ~/Upgradepackage && tar zxf proton-*.tar.gz
cd proton-packages && ./install_deps.sh --hosts {node1},{node2},{node3}
- 其中 {node1},{node2},{node3} 为对应节点IP,以“,”分隔
- 各节点默认使用root用户、SSH 22端口
预期结果示例
5 更新基础服务
注意:需要在新版本依赖包的解压目录下执行更新配置操作,以下操作均在解压后的依赖包路径下执行
5.1 更新内置的基础服务
主要包括内置的MariaDB、MongoDB、Redis、Kafka/NSQ、OpenSearch等
在任意一master节点上,执行命令,获取配置文件(自定义命名空间默认为anyshare):
proton-cli get conf -n 自定义命名空间 > upgrade_conf.yaml
预期结果示例
执行命令,进行配置更新:
proton-cli apply -f upgrade_conf.yaml
5.2 ECeph依赖更新说明
如果环境中融合部署了ECeph,此时会同步更新ECeph组件。完整更新流程,可参考运维更新-产品版本更新-对象存储服务ECeph更新。如果不需要更新ECeph,可修改upgrade_conf.yaml, 跳过ECeph更新。
编辑upgrade_conf.yaml文件,搜索eceph配置块,增加一行skip_eceph_update: true
6 更新部署工作台
第一步 解压部署工作台package包
tar -zxvf Proton-DeploymentStudio-*-package.tgz
注意:解压部署工作台package包之后,需要再次执行推送产品包操作
即”推送镜像包和产品包“节的命令:proton-cli package push --package ~/Upgradepackage/module/ -n 自定义命名空间
第二步 进入解压后的目录,更新mini-deploy(自定义命名空间默认为anyshare)
cd proton-deploy-* && ./mini-deploy -n 自定义命名空间
第三步 更新成功后查看deploy-installer-0是否正常启动,查看命令如下
第四步 更新部署工作台进入【服务管理】--【服务部署】页面,选中DeploymentStudio,点击【更新】
-
进入①【选择版本】(以实际发布版本为准),点击【下一步】,以下图为示例:
-
进入②【填写配置项】,填写完成之后点击【提交】确认配置,点击【下一步】,以下图为示例:
-
进入③【确认信息】,点击【确定】,执行更新
-
等待更新完成,可在【服务监控】页面查看更新进度,当状态变为【成功】时,表示更新完成
7 更新身份认证服务
通过部署工作台-服务管理-服务部署的可视化页面进行身份认证服务(IdentifyAndAuthentication)的更新,详细操作见 部署工作台功能介绍-服务管理-服务部署
注意:
如果安装了 AnyShare 主模块:
- 身份认证服务更新期间,会有几分钟无法访问文档,请不要在业务繁忙期间更新版本
- 身份认证服务更新完后,需要重启 AnyShare 主模块中的 document 微服务,操作参考:
kubectl get pod -n anyshare|grep document-[^ds]| awk '{print $1}'|xargs -I {} kubectl delete pod -n anyshare {}
没有安装 AnyShare 主模块的环境,不需要处理;其他服务不受影响。
8 更新产品服务
通过部署工作台-服务管理-服务部署的可视化页面进行各产品服务的更新,详细操作见 部署工作台功能介绍-服务管理-服务部署
在更新服务的时候,基于默认值即可,如果需要基于环境做定制化配置,可以参考 服务参数详解