随着互联网、云计算技术的深入发展,为降低企业大规模云应用建设的难度和成本,支持云应用开发、运行与运维一体化的云应用平台软件应运而生。在数通家族中对公司集成套件的云平台开发、部署、管理、运维进行统一管理,实现数据集成和共享的平台被称作UMC云管理平台。
UMC云管理平台作为平台部署工具,进行了简化操作难度的优化,提供镜像上传操作,便于基于UMC在线升级和更换其他产品。UMC提供在线监视功能,通过查看容器参数、运行状态、容器性能可以确定产品安装的部署状态;支持通过配置文件的上传下载,编译更新底层的基本配置信息,部署或者升级过程中,可以通过回写日志,可直观查看容器部署状态,并通过部署结果、错误信息追溯定位原因,以便于快速解决问题。
1总体说明
本篇文档是基于UMC云管理平台进行了三台服务器K8S的搭建后,在nginx接入配置和redis配置完成后,通过UMC产品进行产品的版本升级迭代,数据比对更新推送的流程介绍,同时列举升级中出现的一些问题和解决办法。
1.1产品介绍
UMC云管理平台是统筹集成于开发、部署、管理、运维一体的综合管理中心,对K8S集群配置、运行状态等进行统一管理,满足云原生四个基本要素:容器化、微服务、DevOPS持续交付、多租户管理。
UMC支持提供容器在线监视,可查看容器参数、运行状态、容器性能和容器中服务的运行日志;全面支持设计器(ESB、DP)部署功能,通过回写日志,可直观查看容器部署状态,并通过部署结果、错误信息追溯定位原因,以便于快速解决问题;支持管理配置多种组合方案,各种不同的Server,提供典型的平台组合方案管理,简化操作难度;支持不同租户管理的数据授权、权限隔离,严格保证数据安全性,确保各运维人员的权限范围。
1.2产品架构
UMC是数通用于集成套件中进行云平台开发、部署、管理、运维统一管理,通过K8S可以对集群配置、运行状态等进行统一管理,业务架构如下图所示:
底层通过容器化的套件作为支撑,包含ESB应用集成平台、MDM基础数据平台、IDM身份管理平台、DAP数据分析平台、BPM流程集成平台、Portal门户集成平台等产品。中层通过K8S技术可根据企业自身需求对底层容器化的套件进行统一调度管理,UMC云管理平台可以对调度过来的各容器化的集成套件进行统一管理和监控。
1.3整体流程
本次通过UMC进行产品升级的过程如下:
前期准备:进行产品的上传,数据库的初始化过程。
升级过程:通过UMC进行产品升级,主要包括数据对比,配置文件的修改。
启动验证:升级完毕,重新部署启动各个产品,对产品进行验证,确保产品可以正常运行。
2前置步骤
产品升级前,需要进行产品和介质的准备,数据库的初始化,需要使用一个新的数据库,用来进行数据对比操作,同时要保证不影响原系统和原数据库的情况下进行升级前的准备工作,下面进行详细说明。
2.1前置准备
需要准备的介质有:
1.开发和测试环境各个产品的基本库(以开发环境为例,测试环境同:dap相关库:4个、esb相关库:1个、idm相关库:2个、mdm相关库:2个、portal相关库:1个);
2.公司各个解决方案的产品(下面以企业中台方案为例,不再赘述)。
2.2部署过程
1.升级需要在原有的库中进行升级,但是需要保存原来数据库中的一些内容,添加新的内容,所以需要后续进行数据对比,因此需要创建新的除了测试和开发外的库(以demo库为例),新建demo库,并设置好编码集。
2.使用跳板机,进行公司产品的上传、解压。
3.加上需要升级的两个环境库,共有三个库,在做好备份的情况下,上传相关server介质,在demo库上初始化数据(后续要进行数据对比,使用dome库与另外两个库对比)。
2.3问题解决
1.startconfigtool.cmd脚本闪退。
解决方法,检测部署跳板机是否安装jdk,在cmd下查看,如果没有,先进行跳板机jdk的安装(或者直接导入脚本sql)。
3升级流程
前面已经完成了基本准备的一些过程和条件,下面进行升级流程,升级时用到已经准备好的demo空库和测试(test)和开发(dev)两个库和UMC产品,需要进行数据的对比和配置文件的对比操作,均在UMC云管理平台进行相关操作。
3.1升级步骤
通过UMC产品升级的过程如下:
上传镜像:上传新的产品镜像到UMC产品中。
数据对比:对比初始化的库和已有的库,进行结构同步和数据同步。
修改配置文件:调整各个产品的配置文件,解决兼容问题。
3.2升级过程
1.在租户配置——镜像信息中新建、上传、保存、构造使用压缩包,通过UMC平台上传相关镜像。
2.在数据处理中新增数据,填写内容,数据库连接信息,进行测试连接,保存。
注意:demo一套、dev一套、test一套确保连接成功。
3.租户配置——数据处理,使用数据对比功能和同步功能,进行数据对比(结构)数据同步(内容)。
对比需要对比全部表,而本次升级需要同步的表为:
数据对比举例:esb。
注意:日志多出的文件不要删除。
数据同步举例:idm。
4.租户配置——租户配置(后续名字改为运维配置),查看各个产品的配置文件,进行修改,跟本地上传的产品进行比较。
内部路径对应本地的server相应文件路径。
对比内容:除了端口号,数据库连接账号密码等基本信息之外的其他信息。
配置文件对比举例:
Xml文件对比举例:
3.3问题解决
1.esb反复重启。
解决:加长存活和就绪的探针时间。
2.esb启动界面空白。
3.报错:数据库连接报错。
解决方法:检测对应文件的.properties和bpm.properties中的文件完整性,一般为bpmDataSource内容缺失,图示:
4部署启动
升级完成,需要进行对升级完毕之后的产品进行部署,部署完毕后进行各个产品的功能测试验证,确保升级后原产品数据保持不变,功能正常运行,新增数据正确展现,新增功能正常运行。
4.1部署过程
1.进入基本信息——编辑——反创建——重新上传更新后的新的镜像文件。
2.按照Deploy——Service——Ingress顺序进行相应各个平台产品的启动,注意Deploy时候要上传升级后的新镜像文件。
4.2验证过程
1.复制portal产品链接,进入空白页面浏览,跳转为统一身份平台。
2.登录,进入portal门户集成平台,进行各个产品的测试操作,确保每一个产品可以正常运行(以
下图为例,请根据具体要求进行测试)。
4.3问题解决
1.MDC控制台报错。
解决方法:调整配置mdm中的bpm.xml中配置文件。
2.IDC控制台报错,错误同上。
解决方法:调整配置idm中的bpm.xml中配置文件。
3.portal畅联主页问题。
解决:缺少数据,上传数据。
4.IDC首页报错:
解决方法,调整全局变量中的通用配置——变量管理中IDC控制台路径。
5归纳总结
本次升级主要是通过UMC产品进行公司产品的版本升级迭代,主要是对比产品数据和配置文件,同时确保更新后的数据完整性,保证在更新产品后,原来的数据保持不变。
5.1模式归纳
UMC云管理平台的升级模式是目前公司产品和方案升级的方案,通过UMC云管理平台不仅可以大大简化升级流程,提高升级效率,减少不必要的操作,实现全部产品的集中的、一体化的管理。通过UMC的管理功能可以将公司产品方案升级过程直接融合到UMC平台中。该升级模式对于新手友好化,普通人也可以经过简单培训操作,实现不同产品、不同方案的升级操作,敏捷化集联调用升级。
5.2重点难点
本次部署的重点难点在于UMC平台进行数据的比对和配置文件的修改操作上,保证对比的库和表正确,注意判断哪些数据是产品升级需要传入的数据,哪些产品是产品升级需要修改和更新的数据,哪些是需要删除的数据,哪些数据要保持不变,确保新增的数据和功能要正常运行。对比配置文件时要注意对比完全,链接的库表是否正常使用,新增的功能确保可以正常使用等。
5.3后续规划
通过K8S云管理平台可以大大简化在实际项目中对环境的一些操作步骤,比如部署产品,动态扩容,升级补丁等,之前都需要花费很长时间完成,即耗时又费力,而现在只需要在UMC中通过相关的配置功能就可以快速完成。
后续K8S云管理平台要从功能性、易用性、扩展性等不同角度进行迭代升级,通过项目中客户的需求筛选出产品需要的功能,进而升级产品功能,增强产品的功能性。