1. 概述
1.1 版本说明
| 运维平台版本 | 功能变动 |
|---|---|
| V1.5.5 | - |
| V1.9.0 | 手动升级过程新增检测并升级docker引擎版本,以防由于docker引擎版本过低导致功能不可用 |
| V2.0.0 | 交互优化,功能入口位置调整 |
1.2 应用场景
内网升级使用 FineKey 容器化部署工具及离线安装包,更新 FineOps 运维平台和运维组件,适用于镜像仓库无法连接帆软云端仓库的环境。
能够在线获取镜像的环境,建议直接在线升级,详情请参见:外网升级运维平台。
本文不用于更新项目中的 FineReport、FineBI 应用版本。详情请参见:内网升级运维项目。
升级运维平台前,可查阅近期功能变更,详情请参见:运维平台更新日志
1.3 升级影响
升级过程中会重启运维平台;如触发 Docker 引擎升级,还会重启对应服务器上的容器。
如果运维平台与运维项目部署在同一服务器上,则升级运维平台可能影响该服务器上的运维平台或项目访问。
请安排业务允许中断的维护时间,再执行升级。
2. 检查升级前提
| 检查项目 | 说明 |
|---|---|
| 节点连通 | FineKey 所在服务器与运维平台所在服务器需要互通;不互通时无法使用本方案。 可将 FineKey 上传到运维平台所在服务器执行 |
| 剩余空间 | 运维平台外挂目录所在磁盘需预留升级空间;请确保剩余磁盘空间大于 100 GB |
| 目标版本 | 1)进入「运维平台管理>运维组件」,记录 ops 组件版本。 2)查看 运维平台更新日志 ,确认最新版本 运维平台当前版本已为最新版本时,不执行升级
|
| 原配置 | 获取原部署工具包 finekey/conf/finekey.yaml,用于逐项迁移配置 |
| Docker 引擎升级条件 | 运维平台所在服务器及其对接项目所在服务器均需满足引擎升级要求; 系统禁止升级时,FineKey 会中断流程 |
3. 准备 FineKey
3.1 选择离线安装包
从下载页获取目标版本 FineKey。详情请参见:FineOps运维平台下载。
内网环境不要选择在线版安装包,推荐选择「全量版离线安装包」。
| 安装包类型 | 说明 |
|---|---|
| 在线版安装包 | 1)服务器可访问外网,支持下载运维平台相关组件镜像,安装包体积小 2)支持从云端下载帆软应用相关组件镜像,可通过运维平台可视化部署工程 3)可对接已有帆软应用工程 |
| 纯净版离线安装包 | 1)服务器为内网,内置全部运维平台相关组件镜像,安装包体积大 2)未内置帆软应用相关组件镜像,无法通过运维平台可视化部署工程 3)用于对接已有帆软应用工程 |
| 全量版离线安装包 | 1)服务器为内网,内置全部运维平台相关组件镜像,安装包体积大 2)内置帆软应用相关组件镜像,可通过运维平台可视化部署工程 3)可对接已有帆软应用工程 |
3.2 上传并解压安装包
1)将安装包上传到运维平台所在服务器;需要从其他服务器执行时,先完成第 2 节的节点连通检查。
本文示例是将工具包上传到了运维平台所在服务器的 /home 路径下,如下图所示:

2)进入安装包所在目录并解压。(请根据安装包实际名称和位置调整命令)
cd /home
tar zxvf finekey-amd64-tomcat-all-publish..tar.gz

3)得到 FineKey 工具目录。
| 路径 | 用途 |
|---|---|
| finekey/bin | FineKey 可执行文件所在目录 |
| finekey/conf/finekey.yaml | 部署与升级配置文件 |
| finekey/resources/images | 离线镜像资源所在目录 |
3.3 迁移原配置
注意:新旧版本的配置项可能不同。保留新安装包的 finekey.yaml 结构,将原配置值逐项迁入;不要用旧文件整体覆盖新文件,也不要整段替换全部内容。
1)打开第二章准备的原工具包的 finekey/conf/finekey.yaml。
2)逐项核对,将对应配置值写入新工具包的 finekey/conf/finekey.yaml。
3)FineKey 与运维平台不在同一台服务器时,补充待升级节点的连接信息。
update:
nodes:
- ip: localhost #机器ip
port: 22 #机器ssh端口
user: #节点ssh用户
password: #节点ssh密码
# - ip: 192.168.101.145
# port: 22
# user: xxx
# password: xxx
4. 升级运维平台
4.1 执行升级命令
1)进入 3.2 节解压所得的 finekey 工具包所在文件夹的 bin 目录下。
cd /home/finekey/bin
2)使用语句启动升级
./finekey update
注意:严格按上述命令执行,不要自行改为sudo ./finekey update,更改执行方式可能导致部署失败。

4.2 执行升级流程
启动升级后,FineKey升级运维平台的流程如下表所示,请耐心等待升级完成。
| 步骤 | 内容 |
|---|---|
| 检查升级前提 | FineKey工具会优先检查第二章的升级前提是否达成。 如不达成升级前提,则直接结束升级步骤。 如达成升级前提,则进行下一步。 |
| 检查组件版本 | FineKey工具会自动检测待升级组件和FineKey内镜像版本是否一致。 如版本一致,则没有升级必要,直接结束升级步骤。 如版本不一致,则进行下一步。 |
| 自动备份组件 | FineKey工具会自动备份需要升级的组件挂载的数据 注:升级指定组件时,可能会关闭/备份关联组件。 |
| 替换升级镜像 | FineKey工具会自动更换镜像进行升级 |
| 重启运维平台 | FineKey工具会自动重启运维平台 若重启成功,则升级成功 若重启失败,则自动回滚,取消升级 |
4.3 完成运维组件更新
1)平台恢复访问后,管理员重新登录。
2)若出现「运维平台正在完成最后一步更新,更新结束后将自动刷新此页面,更新期间请勿关闭运维平台!」,等待更新结束,不要关闭运维平台。

3)若未出现自动更新提示,进入「运维平台管理>运维组件」,单击「一键升级」触发剩余组件更新。

4.4 确认升级成功
1)管理员登录运维平台。
2)单击「运维平台管理>更新升级」,查看版本,提示「当前已是最新版本」,即代表运维平台升级成功。

5. 注意事项
问题描述
运维平台升级过程中,提示docker engine相关报错
使用finekey语句检查docker版本时报错can not update for non finekey docker
原因分析
由于docker引擎、FineOps运维平台、项目的ops_agent组件存在对应关系。
如需手动升级运维平台,必须确保运维平台所在服务器、运维平台对接的项目所在服务器,均支持升级docker引擎。
如在执行finekey update过程中,检测到系统禁止升级docker引擎,就会出现相关报错,中断升级。
解决方案
1)依次分别登录运维平台所在服务器、运维平台对接的项目所在的每一台服务器
2)执行语句,升级docker引擎:./finekey engine --update
3)再次参考上文使用语句启动升级:./finekey update
注意事项
在升级FineOps运维平台时,在哪一台服务器触发了docker引擎升级,就会重启该机器上的容器。
因此会影响终端用户使用运维平台和项目。请选择非工作时间进行升级,降低业务影响。
