一种基于云计算的应用系统自动化部署方法

文档序号:9790835阅读:642来源:国知局
一种基于云计算的应用系统自动化部署方法
【技术领域】
[0001]本发明涉及一种基于云计算的应用系统自动化部署方法。
【背景技术】
[0002]云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。随着云计算技术的成熟,应用系统与云计算的结合逐渐增多,单靠人工已经无法满足在技术、业务、管理等方面的需求,那么标准化、自动化、过程优化等降低IT成本的因素越来越被人们所重视。企业如何运用专业化、标准化、流程化等手段来实现部署、运维工作的自动化管理变得越来越重要。

【发明内容】

[0003]针对上述问题,本发明提供一种基于云计算的应用系统自动化部署方法,通过运用专业化、标准化、流程化等手段来实现应用系统的自动化部署管理,降低运行成本,提高服务质量。
[0004]名词解释:
l、0penStack:开源云计算管理平台。
[0005]2、SaltStack:开源远程部署工具,其主控端mas ter和被控端min1n基于证书认证,安全可靠。
[0006]3、Ceph:分布式文件系统。
[0007]4、YAML:Yet Another Markup Language,另一种标记语言。
[0008]5、Syndic: 一个基本的sal t配置方式是一个master指挥一群min1n,为了不再有假设使用任何单一拓扑结构,考虑多种布局的情况下,开发者引入了syndic,主控master可以控制一群master,通过syndic将操作命令传输给受控master,受控master来完成对自己旗下min1n的管理,并将结果传回主控master,从而实现了主控master对所有min1n的间接管理。
[0009]6、Group:包含多个 Min1n0
[0010]为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于云计算的应用系统自动化部署方法,其特征在于,包括如下步骤:
步骤1、将开源远程部署工具SaltStack的Salt Min1n嵌入到开源云计算管理平台OpenStack的标准模板中,当虚拟机启动时Min1n后台程序便开始运行;
步骤2、0penStack接收客户端发送的发布应用系统的请求信息,并从OpenStack环境中获取符合要求的第一云计算主机列表;
步骤3、0penStack根据不同机柜对第一云计算主机列表进行过滤,获得第二主机列表; 步骤4、OpenStack继续对第二主机列表进行过滤选择最优主机建立虚拟机;
步骤5、虚拟机通过SaltStack服务器根据应用系统需求自动从Ceph中自动下载并安装所需中间件; 步骤6、虚拟机通过ftp下载应用系统包到中间件安装目录中;
步骤7、虚拟机通过SaltStack客户端自动启动中间件发布应用系统,提供应用系统服务。
[0011]服务端接收客户端发送的请求信息,根据请求信息过滤主机,获取最优主机建立虚拟机,自动下载安装中间件,发布应用系统,有效提升应用系统发布的速度、扩展性和资源高效使用。
[0012]优选,SaltStack采用Salt Syndic建立多层级的Salt拓扑。
[0013]其中,Master根据应用系统软件需求自动到Ceph上下载相关软件,得到相关软件后Master向Syndic发出部署命令,Syndic将State模板和pi I Iar模板转发给Min1n,每个Min1n接受后,根据自己的Pi IIar参数和State信息对模板进行渲染和解析,生产YAML文件,由此决定自己是否属于此次部署任务成员和由哪些State进行部署;
当需要由某个Min1n或某个Group执行命令时,Master向Syndic下发管理信息,所有包含Min1n或Group的Syndic再向Master发送部署命令。
[0014]由于在云环境中,部署和管理的虚拟机可能远远不止几十台,部署环境也可能相对复杂,需要部署和配置的文件全部放在开源远程部署工具(SaltStack)的Salt Master(服务器)内,文件结构复杂且庞大,因此单一Master会有很大的局限性。我们采用SaltSyndi c建立多层级的Salt拓扑,这样在Master端的文件及部署配置文件可以向下转移到Syndi c端。
[0015]与现有技术相比,本发明的有益效果是:
1)显著降低IT服务成本和管理成本;
2)提升应用系统的专业化、标准化、流程化;
3)大大降低维护人员的技术水平要求;
4)以上技术(SaltStack、OpenStack、Ceph)都使用的集群部署提升了应用系统在日常运维和部署中的容错性和高可用性;
5)有效提升应用系统发布的速度、扩展性和资源高效使用。
【附图说明】
[0016]图1是本发明一种基于云计算的应用系统自动化部署方法的结构示意图;
图2是本发明动态运维拓扑图。
【具体实施方式】
[0017]下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0018]—种基于云计算的应用系统自动化部署方法,其结构示意图如图1所示,具体包括如下步骤:
步骤1、将开源远程部署工具SaltStack的Salt Min1n嵌入到开源云计算管理平台OpenStack的标准模板中,当虚拟机启动时Min1n后台程序便开始运行;
步骤2、0penStack接收客户端发送的发布应用系统的请求信息,并从OpenStack环境中获取符合要求的第一云计算主机列表。其中,请求信息包括:应用系统规格、同时要发布应用系统的数量、自带中间件、应用系统包等信息,图1中假设请求信息为X。
[0019]步骤3、0penStack根据不同机柜对第一云计算主机列表进行过滤,获得第二主机列表;
步骤4、OpenStack继续对第二主机列表进行过滤选择最优主机建立虚拟机,建立虚拟机主要通过Nov模块来实现,图1中虚拟机为虚机A;
步骤5、虚拟机通过SaltStack服务器根据应用系统需求自动从Ceph中自动下载并安装所需中间件;
步骤6、虚拟机通过ftp下载应用系统包到中间件安装目录中;
步骤7、虚拟机通过Sa 11S tack客户端自动使用脚本命令启动中间件发布应用系统,提供应用系统服务。
[0020]上述过程中,如果发生错误可自动回退到原始状态,实现了应用系统部署及运维的自动化,并同时实现专业化、标准化、流程化使不懂技术的人员也可轻易部署及运维上百甚至上千台服务器及应用系统。
[0021]由于在云环境中,部署和管理的虚拟机可能远远不止几十台,部署环境也可能相对复杂,需要部署和配置的文件全部放在开源远程部署工具(SaltStack)的Salt Master(服务器)内,文件结构复杂且庞大,因此单一Master会有很大的局限性。如图2所示,本发明SaltStack采用Salt Syndi
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1