本发明涉及云计算,具体为一种基于gitops的分布式云平台远程升级的方法和系统。
背景技术:
1、分布式云(distributed cloud)是指云服务提供商管(cloud service provider,csp)将公有云服务分发到不同的物理位置,由csp统一负责云服务的运营,治理,更新和演进,将云服务交付地理位置作为其定义一部分的云模型。浪潮云是分布式云最早的提出者和实践者,经过数年的发展,已经建成融合多业务场景的提供iaas、paas、daas、saas连续体服务的大规模分布式云。
2、现有技术中,分布式云平台,由于其特殊的部署形态,一般采用基于统一运营中心(opscenter)的集中运维机制。在持续集成和交付的过程中,云平台的升级发布是持续迭代的重要一环,直接决定着云平台交付的效率和质量。
3、但是,传统运维模式下,分布式云平台的升级是一项长期复杂的持续运维任务,涉及到配置管理、变更管理、镜像管理等方面。首先,每一次版本的拉齐,都需要耗费大量的人力和资源,升级周期长,无法对客户的需求反馈做到及时响应;其次,每一次大版本的升级,都涉及到大量的组件小版本的拉齐,细节繁琐,容易出现错误;最后,很难实现蓝绿、灰度、滚动发布模式,无法保障业务连续。
技术实现思路
1、本发明的目的在于提供一种基于gitops的分布式云平台远程升级的方法和系统,采用基础设施即代码(infrastructure as code,iac)来声明式地定义分布式云平台,并基于gitlab、harbor私有版本配置库和镜像仓库作为持续集成交付的基础仓库,以解决上述背景技术中提出的问题。
2、为实现上述目的,本发明提供如下技术方案:一种基于gitops的分布式云平台远程升级的方法,所述方法包括如下步骤:
3、opscenter升级中心镜像构建;
4、云平台侧镜像配置仓库异步更新;
5、远程变更升级。
6、优选的,opscenter升级中心镜像构建的具体操作包括:
7、1)构建人员基于devops流水线系统,执行云平台组件的版本构建任务;
8、2)devops流水线启动构建任务,拉取中心配置仓库的代码,执行构建、生成镜像;
9、3)镜像构建成功后,devops流水线系统推送镜像到中心镜像仓库,同时发布到研发测试环境,由测试人员执行测试用例;
10、4)中心镜像仓库镜像更新,同时基于异步接口,推送更新消息给升级控制服务。
11、优选的,云平台镜像配置仓库异步更新的具体操作包括:
12、1)分布式云平台侧升级代理,定时获取opscenter中心侧升级控制服务的镜像更新信息;
13、2)升级代理组件发起本地镜像仓库更新操作,从中心镜像仓库拉取新版本镜像,完成镜像仓库同步;同步过程中,基于md5镜像签名执行镜像完整性校验;
14、3)升级代理组件发起本地配置仓库更新操作,从中心配置仓库拉取新版本配置代码,完成配置仓库同步。
15、优选的,远程变更升级的具体操作包括:
16、1)opscenter中心侧,由变更人员基于升级控制服务发起升级变更异步任务;
17、2)分布式云平台侧,基于升级代理组件,定时拉取升级任务;
18、3)分布式云平台侧,升级代理组件基于运维编排工具,调度执行组件升级,并定时回传升级状态信息给opscenter中心侧升级控制服务;
19、4)分布式云平台侧,运维编排工具基于本地镜像仓库、本地配置仓库,完成组件升级。
20、一种基于gitops的分布式云平台远程升级系统,所述系统由opscenter升级中心、分布式云平台侧两级架构构成;
21、opscenter升级中心由升级控制服务、devops流水线、中心配置仓库和中心镜像仓库五个子系统组成;
22、分布式云平台侧的远程升级组件,包括本地镜像仓库、本地配置仓库、升级代理组件
23、优选的,中心配置仓库基于开源软件gitlab构建;
24、devops流水线,基于中心配置仓库,以云平台核心组件的源代码项目作为输入,基于基础镜像定义、配置参数定义等进行自动化构建;
25、中心镜像仓库基于开源软件harbor搭建,作为分布式云平台的中心镜像仓库,为云平台侧的本地镜像仓库提供镜像源;
26、升级控制服务组件,是分布式云集中升级控制管理的核心组件,主要功能包括配置和镜像同步更新任务下发、升级任务下发、升级任务监控。
27、优选的,升级代理组件核心功能包括:
28、1)定时与opscenter中心侧的升级控制服务进行接口轮询,获取镜像、配置更新消息,并基于sd-wan网络,从中心镜像仓库同步新版本镜像到本地镜像仓库,从中心配置仓库同步新版本配置到本地配置仓库;
29、2)基于升级控制服务下发的云平台升级任务,基于运维编排工具调度执行组件升级,并回传升级进度及过程监控数据给升级控制服务。
30、优选的,本地镜像仓库,作为云平台升级的本地镜像源,直接为云平台升级提供镜像服务。
31、优选的,地配置仓库,作为云平台升级的本地配置仓库,为运维编排工具提供配置;在升级过程中,运维编排工具从本地配置仓库拉取配置代码,从本地镜像仓库拉取镜像。
32、与现有技术相比,本发明的有益效果是:
33、本发明提出的基于gitops的分布式云平台远程升级的方法和系统,使分布式云从整体上实现了gitops的持续集成、持续交付的运维模式,云平台的版本迭代更加敏捷,云平台的运维升级也更加可靠和高效,从整体上提升了云平台的迭代和运维效率;采用镜像仓库和配置仓库采用了两级架构,是一种典型的冗余备份架构,保障了镜像仓库和配置仓库的整体可用性;通过云平台的管理平面基于容器化部署,天然支持蓝绿、灰度和金丝雀升级发布模式,支持在运维升级过程中保障云平台运行的业务连续性。
1.一种基于gitops的分布式云平台远程升级的方法,其特征在于:所述方法包括如下步骤:
2.根据权利要求1所述的一种基于gitops的分布式云平台远程升级的方法,其特征在于:opscenter升级中心镜像构建的具体操作包括:
3.根据权利要求1所述的一种基于gitops的分布式云平台远程升级的方法,其特征在于:云平台镜像配置仓库异步更新的具体操作包括:
4.根据权利要求1所述的一种基于gitops的分布式云平台远程升级的方法,其特征在于:远程变更升级的具体操作包括:
5.一种根据权利要求1-4任意一项所述的基于gitops的分布式云平台远程升级的方法的基于gitops的分布式云平台远程升级系统,其特征在于:所述系统由opscenter升级中心、分布式云平台侧两级架构构成;
6.根据权利要求5所述的一种基于gitops的分布式云平台远程升级系统,其特征在于:中心配置仓库基于开源软件gitlab构建;
7.根据权利要求5所述的一种基于gitops的分布式云平台远程升级系统,其特征在于:升级代理组件核心功能包括:
8.根据权利要求5所述的一种基于gitops的分布式云平台远程升级系统,其特征在于:本地镜像仓库,作为云平台升级的本地镜像源,直接为云平台升级提供镜像服务。
9.根据权利要求5所述的一种基于gitops的分布式云平台远程升级系统,其特征在于:地配置仓库,作为云平台升级的本地配置仓库,为运维编排工具提供配置;在升级过程中,运维编排工具从本地配置仓库拉取配置代码,从本地镜像仓库拉取镜像。