1. 概述
1.1 版本说明
运维平台版本 | 功能变动 |
---|---|
V1.5.5 | - |
V1.9.0 | 手动升级过程新增检测并升级docker引擎版本,以防由于docker引擎版本过低导致功能不可用 |
V2.0.0 | 交互优化,功能入口位置调整 |
1.2 应用场景
为满足客户的新需求以及完善之前版本某些功能的不足之处,FineOps运维平台在不断地更新迭代。
内网用户,可通过容器化部署工具对运维平台和运维组件进行更新升级,升级不会对接入工程和历史数据造成影响。
注1:外网用户,推荐使用在线升级功能,详情请参见:更新运维平台
注2:升级运维平台前,可查阅近期功能变更,详情请参见:运维平台更新日志
2. 升级准备
2.1 确认节点联通
请确保待升级的运维平台所在服务器,与3.1节待上传的容器化部署工具FineKey所在服务器,互相联通。
若两者不连通,则无法使用本文升级方法。(可将Finekey上传至运维平台所在服务器)
2.2 确认剩余磁盘空间
确认待升级节点剩余磁盘空间是否大于100GB。
如不足100GB,则无法使用本文升级方法。
2.3 确认是否需要升级
确认待升级节点是否存在需要升级的组件。
如不存在需要升级的组件,则无法使用本文升级方法。
2.4 保存原yaml文件
从原容器化部署工具finekey/conf目录下获取finekey.yaml文件,下文需要用到。
3. 准备FineKey工具
3.1 获取FineKey安装包
点击可跳转至下载页:FineOps运维平台下载。
有三种类型的安装包,内网用户请下载「纯净版/全量版离线安装包」:
安装包类型 | 说明 |
---|---|
在线版安装包 | 1)服务器可访问外网,支持下载运维组件镜像,安装包体积小 2)支持从云端下载帆软应用组件镜像,可通过FineOps可视化部署工程 3)可对接已有帆软应用 |
纯净版离线安装包 | 1)服务器为内网,内置全部运维组件镜像,安装包体积大 2)未内置帆软应用组件镜像,无法通过FineOps可视化部署工程 3)用于对接已有帆软应用 |
全量版离线安装包 | 1)服务器为内网,内置全部运维组件镜像,安装包体积大 2)内置帆软应用组件镜像,可通过FineOps可视化部署工程 3)可对接已有帆软应用 |
3.2 上传FineKey安装包
获得工具包后,需要将它上传到 Linux,上传文件的方法请自行查阅相关资料。
本文示例是将工具包上传到了 CentOS 7.6.1810 的 /home 路径下,如下图所示:
3.3 解压FineKey安装包
1)先使用 cd 命令进入工具包所在文件夹下。
2)键入如下命令进行解压:
tar zxvf finekey-operation.tar.gz
解压后的文件如下表所示:
文件夹/文件 | 文件说明 | |
---|---|---|
finekey/bin | 运行finekey的可执行文件 | |
finekey/conf | finekey.yaml | 新部署运维平台配置文件 |
finekey.push.yaml | 拉取镜像配置文件 | |
finekey/resources | 资源文件,镜像包放在其中images文件夹中 |
3.4 配置finekey.yaml文件
yaml 文件指的是工具解压目录下 conf 文件夹里的 finekey.yaml,该文件是控制后面整个升级流程的。
替换yaml文件
取出2.4节从原finekey部署工具finekey/conf目录下获取finekey.yaml文件,将文件中的配置值,一项一项的复制替换到新FineKey部署工具finekey/conf目录下的finekey.yaml文件。
注1:请勿直接替换yaml文件,或一键复制粘贴文件内容,因为新旧版本中,yaml文件设置可能存在微小差异,建议逐项拷贝配置值即可。
注2:如果finekey部署工具和运维平台不在同一台服务器下,yaml文件中需要新增以下待升级节点的ip、用户名、密码,其他均由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)先使用 cd 命令进入工具包所在文件夹的bin目录下。
2)使用语句启动升级:./finekey update
4.2 执行升级流程
启动升级后,FineKey升级运维平台的流程如下表所示,请耐心等待升级完成。
步骤 | 内容 |
---|---|
检查升级前提 | FineKey工具会优先检查第二章的升级前提是否达成。 如不达成升级前提,则直接结束升级步骤。 如达成升级前提,则进行下一步。 |
检查组件版本 | FineKey工具会自动检测待升级组件和FineKey内镜像版本是否一致。 如版本一致,则没有升级必要,直接结束升级步骤。 如版本不一致,则进行下一步。 |
自动备份组件 | FineKey工具会自动备份需要升级的组件挂载的数据 注:升级指定组件时,可能会关闭/备份关联组件。 |
替换升级镜像 | FineKey工具会自动更换镜像进行升级 |
重启运维平台 | FineKey工具会自动重启运维平台 若重启成功,则升级成功 若重启失败,则自动回滚,取消升级 |
4.3 更新运维组件
FineOps运维平台升级完成后,会自动获取该版本依赖的最新运维组件镜像。运维组件也全部成功更新完成后,才能算作运维平台整体升级成功。
当成功在线升级并重启运维平台后,管理员登录运维平台时,运维平台会自动检测并升级运维组件。
管理员登录运维平台,若存在需要升级的运维组件,自动进行一键升级,弹窗提示「运维平台正在完成最后一步更新,更新结束后将自动刷新此页面,更新期间请勿关闭运维平台!」
注:如未出现上一步自动更新的提示,请点击「运维平台管理>运维组件」,点击「一键升级」,手动触发其他组件升级即可。
4.4 检查升级是否成功
管理员登录运维平台,点击「运维平台管理>更新升级」,查看版本,提示「当前已是最新版本」,即代表运维平台升级成功。
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引擎升级,就会重启该机器上的容器。
因此会影响终端用户使用运维平台和项目。请选择非工作时间进行升级,降低业务影响。