本发明涉及网络云搭建技术领域,特别涉及一种企业研发私有云搭建的方法。
背景技术:
作为软件研发企业,随着越来越多软件项目的实施完成,公司积累的软件产品也越来越多,为了向客户展示这些软件产品,往往因为各软件部署环境的异同产生各种冲突,如数据库版本冲突、jar包冲突等,很难在产品交付后能够继续运行;或者企业搭建虚拟环境,如vm环境,可由于vm占用资源较大,一台服务器往往部署不了几个项目产品,这样会导致开发服务器持续增长或暂停部分项目产品;同时在软件项目开发过程中,开发人员写出的代码往往不能及时的呈现给客户,严重影响与客户之间的需求交互,从而导致拖累项目进度。
另一方面,企业客户随着上线系统越来越多,传统的系统部署方式导致企业也存在着持续性购买服务器资源,而且经常面临高并发、高访问量的系统负荷较重不稳定,而更多系统占用的服务器资源处于“沉睡”状态,出现企业服务器资源使用率极不平衡。
再次,大多数企业的程序部署与数据同时存在同一台服务器上,或同一逻辑服务器组中,数据分散存储情况比较普遍,在数据就是生产力的未来,这对数据的集中备份、灾难是个非常大的挑战。
技术实现要素:
本发明提供一种企业研发私有云搭建的方法,旨在帮助研发企业解决在产品研发过程中不能边开发边自动呈现产品、产品交付后系统不能持续运行、服务器数量需求多等问题;帮助企业解决服务器资源负荷不平衡、应用服务水平扩展难等问题;帮助企业解决数据分散存储、信息化运营成本高等问题。
为实现上述目的,本发明采取的技术方案为:
一种企业研发私有云搭建的方法,该方法主要包括以下步骤:
s01、搭建一套支持数据块、数据对象、文件系统等访问接口的分布式集群数据管理中心;
s02、搭建一套能实现应用微服务自动启停、水平伸缩扩展的分布式集群容器管理中心;
s03、基于数据管理中心和容器管理中心搭建研发devops环境;
s04、基于数据管理中心和容器管理中心搭建数据库资源池(dbpool);
s05、基于以上环境,配置x-cloud脚本,自动完成程序的自动化生产流程,最终形成saas云;
s06、部署日志收集中心,收集各服务器及容器内日志。
优选的,所述数据管理中心用于统一进行数据存储、管理和数据灾备。
优选的,所述devops环境包括svn代码仓库、程序包资源库(如nexus)、容器镜像仓库(如harbor)、持续集成工具(如jenkins)。
优选的,所述数据库资源池用于支持mysql、oracle、postgis等各类数据库的部署。
优选的,x-cloud脚本主要包括:
1)jenkinsfile脚本,用于可持续化交付微服务产品;
2)pom.xml脚本,用于构建微服务底层依赖;
3)docker_build.sh脚本,用于构建、维护微服务镜像容器,并提交至镜像中心的执行脚本;
4)dockerfile脚本,构建微服务镜像依赖文件;
5)yaml脚本,用于拉取镜像,实现微服务自动上线。
优选的,日志收集中心用于收集各服务器及容器内日志,保障云的稳定可靠运行。
与现有技术相比,本发明具有如下有益效果:基于本方法搭建的私有云框架,可以实现数据存储与应用服务分离,以及集成软件可持续全自动交付流程;支持微服务容器化部署;支持便捷的微服务横向、纵向扩展;具备统一的日志收集机制,保障云的稳定可靠运行。
附图说明
图1为本发明的私有云搭建流程示意图;
图2为本发明的x-cloud脚本执行流程图;
图3为本发明搭建的私有云框架图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种企业研发私有云搭建的方法,所述形成方法包括以下步骤,如图1所示:
步骤s01,搭建一套支持数据块、数据对象、文件系统等访问接口的分布式集群数据管理中心,用于统一进行数据存储、管理和数据灾备。
步骤s02,搭建一套能实现应用微服务自动启停、水平伸缩扩展的分布式集群容器管理中心。
步骤s03,基于数据管理中心和容器管理中心(本文简称“两中心”)搭建研发devops环境,该环境包括svn代码仓库、程序包资源库(如nexus)、容器镜像仓库(如harbor)、持续集成工具(如jenkins)等。
步骤s04,基于两中心搭建数据库资源池(dbpool),支持mysql、oracle、postgis等各类数据库的部署。
步骤s05,基于以上环境,配置x-cloud脚本,当开发人员提交代码完成,x-cloud脚本自动执行,自动完成程序的自动编译、测试、打包、镜像制作、数据资源自动分配与挂载、程序微服务自动上线运行等全自动化生产流程,最终形成saas云;该步骤又包含以下几个子步骤,在该实施例中,以权限微服务为例进行解释说明,详见附图2:
1)当开发人员一提交代码时,自动触发jenkins中心的监控任务,该监控任务自动读取svn库中的s05-01jenkinsfile脚本,并自动执行该脚本定义的步骤;
2)在jenkins中心,执行s05-02pom.xml脚本,完成程序的编译、测试、打包,生成微服务jar包文件,同时将jar包文件、s05-03docker_build.sh脚本、s05-04dockerfile脚本一起发送至打包中心;
3)在打包中心,收到上一步文件后,自动执行s05-03docker_build.sh脚本,该脚本又会调用dockerbuild命令,加载s05-04dockerfile脚本进行微服务镜像制作,制作完成后,将镜像推送至镜像中心;
4)在步骤3)执行完后,jenkins中心又将s05-05yaml脚本上传至容器中心,容器中心开始为微服务自动分配数据存储空间,并自动上线运行;
步骤s06,部署日志收集中心,收集各服务器及容器内日志,保障云的稳定可靠运行,最终形成企业私有云平台(附图3)。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
1.一种企业研发私有云搭建的方法,其特征在于:该方法主要包括以下步骤:
s01、搭建一套支持数据块、数据对象、文件系统等访问接口的分布式集群数据管理中心;
s02、搭建一套能实现应用微服务自动启停、水平伸缩扩展的分布式集群容器管理中心;
s03、基于数据管理中心和容器管理中心搭建研发devops环境;
s04、基于数据管理中心和容器管理中心搭建数据库资源池(dbpool);
s05、基于以上环境,配置x-cloud脚本,自动完成程序的全自动化生产流程,最终形成saas云;
s06、部署日志收集中心,收集各服务器及容器内日志。
2.根据权利要求1所述的一种企业研发私有云搭建的方法,其特征在于:所述数据管理中心用于统一进行数据存储、管理和数据灾备。
3.根据权利要求1所述的一种企业研发私有云搭建的方法,其特征在于:所述devops环境包括svn代码仓库、程序包资源库(如nexus)、容器镜像仓库(如harbor)、持续集成工具(如jenkins)。
4.根据权利要求1所述的一种企业研发私有云搭建的方法,其特征在于:所述数据库资源池用于支持mysql、oracle、postgis等各类数据库的部署。
5.根据权利要求1所述的一种企业研发私有云搭建的方法,其特征在于:所述x-cloud脚本主要包括:
1)jenkinsfile脚本,用于可持续化交付微服务产品;
2)pom.xml脚本,用于构建微服务底层依赖;
3)docker_build.sh脚本,用于构建、维护微服务镜像容器,并提交至镜像中心的执行脚本;
4)dockerfile脚本,构建微服务镜像依赖文件;
5)yaml脚本,用于拉取镜像,实现微服务自动上线。
6.根据权利要求1所述的一种企业研发私有云搭建的方法,其特征在于:所述日志收集中心用于收集各服务器及容器内日志,保障云的稳定可靠运行。