基于Ansible微服务部署方法和系统技术方案

技术编号:35478480 阅读:19 留言:0更新日期:2022-11-05 16:28
本发明专利技术涉及自动化运维技术,公开了基于Ansible微服务部署方法和系统,应用于微服务架构类项目中,其目标机器模块用于记录部署结构项目中的服务节点;全局配置模块用于配置部署参数;仓库包管理模块用于维护微服务结构类项目中的安装包;用于指定微服务架构项目的部署计划,并将部署的计划传送至Ansible剧本;Ansible剧本用于执行微服务架构项目的任务清单;部署服务模块用于实时读取微服务架构项目的配置参数及部署计划,并反馈至界面操作模块进行操作。本发明专利技术使用ansible跨不同节点,ansible自动连接。部署计划模块在界面上自主定义要部署的内容,从而功能升级和迭代方便。从而功能升级和迭代方便。从而功能升级和迭代方便。

【技术实现步骤摘要】
基于Ansible微服务部署方法和系统


[0001]本专利技术涉及自动化运维技术,尤其涉及了基于Ansible微服务部署方法和系统。

技术介绍

[0002]ANSIBLE是一种自动化运维工具。它接受用户定义的主机清单(INVENTORY)和剧本(PLAYBOOK),按照剧本定义的任务清单(TASKS),在目标主机上执行任务。这在自动化运维领域十分方便,可以将固定化的、步骤繁多的运维工作整理分类到不同的剧本上。用以完成诸多自动化工作。
[0003]微服务架构的项目,具有服务多,功能分散、相互依赖性强、运行方式多样、服务配置项繁多等特点。因为微服务架构的项目可以拆分业务颗粒度,产品迭代方便,可扩展性强,目前是很多大型项目的最优选择。
[0004]一套完整的微服务架构类项目,往往还需要涵盖服务治理的各个方面,需要包含一系列框架组成一个有序集合,如下内容:基础依赖模块如数据库中间件、缓存数据库中间件、JDK或NODE等运行时语言环境。基础服务模块如服务发现、配置中心、消息总线、负载均衡、断容限流、数据监控等。再加上项目本身的业务模块如应用网关、管理后台、运营中心、用户中心、权限管理。
[0005]现有技术中如:CN202110984018.X;其部署微服务不能跨不同的节点,微服务的部署不能很好地进行功能升级和迭代。

技术实现思路

[0006]本专利技术针对现有技术中部署微服务不能跨不同的节点,微服务的部署不能很好地进行功能升级和迭代的问题,提供了基于Ansible微服务部署方法和系统。
[0007]为了解决上述技术问题,本专利技术通过下述技术方案得以解决:
[0008]基于Ansible微服务部署系统,应用于微服务架构类项目中,其包括目标机器模块、全局配置模块、仓库包管理模块、部署计划模块、Ansible剧本、部署服务管理模块和界面操作模块;
[0009]目标机器模块用于记录部署结构项目中的服务节点;
[0010]全局配置模块用于配置部署参数,并将配置的部署参数传送至Ansible剧本;
[0011]仓库包管理模块用于维护微服务结构类项目中的安装包;安装包包括业务包或依赖包;
[0012]部署计划模块,用于指定微服务架构项目的部署计划,并将部署的计划传送至Ansible剧本;
[0013]Ansible剧本,依据接收的部署的计划用于执行微服务架构项目的任务清单;
[0014]部署服务模块用于实时读取微服务架构项目的配置参数及部署计划,并反馈至界面操作模块进行操作。
[0015]作为优选,Ansible剧本包括基础依赖部署、基础服务部署和业务服务部署。
[0016]作为优选,基础依赖部署的任务清单包括数据库部署、缓存数据部署、JDK部署;基础服务部署的任务清单包括服务发现部署、配置中心部署和负载均衡器部署;业务服务部署的任务清单包括应用网关部署、用户管理部署和权限中心部署。
[0017]作为优选,基础依赖部署和基础服务部署均优先于业务服务部署。
[0018]为了解决上述技术问题,本专利技术还提供了基于Ansible微服务部署的方法,应用于微服务架构类项目中,其包括基于Ansible微服务部署的系统,方法包括:
[0019]步骤1,记录架构类项目中目标机器信息,并设定架构类项目中可用的端口范围;
[0020]步骤2,业务配置项的设置,并传送业务配置项至Ansible剧本;业务配置项包括全局配置信息、数据库信息和存储信息;
[0021]步骤3,上传信息至仓库管理模块,上传的信息包括基础依赖的安装包、基础服务的安装包或业务服务的安装包;
[0022]步骤4,编辑部署计划表,并将编辑的部署计划表记录至部署计划模块;
[0023]步骤5,Ansible剧本的执行,通过部署计划模块下发的部署指令,执行Ansible剧本;并依据Ansible剧本的任务清单完成部署;
[0024]步骤6,服务状态的查看,根据Ansible剧本的回调,将微服务的部署状态回调到部署计划模块,部署计划模块记录微服务的状态,从而通过界面操作模块查看微服务架构类项目中的服务状态。
[0025]作为优选,编辑部署计划表包括完整项目部署计划表或部分功能迭代部署计划表;完整项目部署计划表通过仓库包管理模块一键生成;部分功能迭代部署计划表通过仓库包管理模块中选择生成。
[0026]为了解决上述技术问题,本专利技术还提供了一种存储介质,其包括实现基于Ansible微服务部署系统的存储介质。
[0027]为了解决上述技术问题,本专利技术还提供了一种电子设备,其包括实现基于Ansible微服务部署系统的电子设备。
[0028]本专利技术由于采用了以上技术方案,具有显著的技术效果:
[0029]本专利技术支持多个服务器多个节点部署。ansible自动连多台服务器;部署计划模块在界面上自主定义要部署的内容,既可以是整个业务服务,也可以有选择性的几个业务服务。从而便于微服务部署架构的功能升级和迭代。
[0030]本专利技术通过一种在线操作的方式,对于运维人员其界面化操作更直观,效率高,使用方便,不必去学习ansible的相关知识和命令行知识。
[0031]本专利技术支持多个服务器多个节点部署,通过目标机器模块,将要部署的服务规划到不同的节点上;从而微服务架构项目更加稳定,并符合微服务架构分布式部署到多个节点的特征。
[0032]本专利技术不必知道微服务具体的业务,脚本里会将微服务注册成系统软件,判断微服务是否部署成功,只需要通过系统命令查看软件状态即可。
附图说明
[0033]图1是本专利技术的系统示意图;
[0034]图2是本专利技术的Ansible剧本部署示意图;
[0035]图3是本专利技术的流程图。
具体实施方式
[0036]下面结合附图与实施例对本专利技术作进一步详细描述。
[0037]实施例1
[0038]基于Ansible微服务部署系统,应用于微服务架构类项目中,其包括目标机器模块、全局配置模块、仓库包管理模块、部署计划模块、Ansible剧本、部署服务管理模块和界面操作模块;
[0039]目标机器模块用于记录部署结构项目中的服务节点;
[0040]一套完整的微服务架构项目需要多个机器节点部署,目标机器模块用以录入多个目标主机的SSH信息。在执行Ansible前,会根据记录到的信息,生成目标机器主机清单。利用Ansible远程执行命令的特性,将要部署的微服务安装到指定的机器。
[0041]全局配置模块用于配置部署参数,并将配置的部署参数传送至Ansible剧本;
[0042]记录安装之前的全局配置变量。如数据库的访问地址。如果微服务项目用到统一的网络存储,还需要记录网络存储地址。还可以根据微服务信息。定制项目访问的入口等。类似项目全局的配置项,则通过此模块统一管理;
[0043]仓库包管理模块用于维护微服务结构类项目中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于Ansible微服务部署系统,应用于微服务架构类项目中,其特征在于,包括目标机器模块、全局配置模块、仓库包管理模块、部署计划模块、Ansible剧本、部署服务管理模块和界面操作模块;目标机器模块用于记录部署结构项目中的服务节点;全局配置模块用于配置部署参数,并将配置的部署参数传送至Ansible剧本;仓库包管理模块用于维护微服务结构类项目中的安装包;安装包包括业务包或依赖包;部署计划模块,用于指定微服务架构项目的部署计划,并将部署的计划传送至Ansible剧本;Ansible剧本,依据接收的部署的计划用于执行微服务架构项目的任务清单;部署服务模块用于实时读取微服务架构项目的配置参数及部署计划,并反馈至界面操作模块进行操作。2.根据权利要求1所述的基于Ansible微服务部署系统,其特征在于,Ansible剧本包括基础依赖部署、基础服务部署和业务服务部署。3.根据权利要求2所述的基于Ansible微服务部署系统,其特征在于,基础依赖部署的任务清单包括数据库部署、缓存数据部署、JDK部署;基础服务部署的任务清单包括服务发现部署、配置中心部署和负载均衡器部署;业务服务部署的任务清单包括应用网关部署、用户管理部署和权限中心部署。4.根据权利要求3所述的基于Ansible微服务部署系统,其特征在于,基础依赖部署和基础服务部署均优先于业务服务部署。5.基于Ansible微服务部署的方法,应用于微服务架构类项目中,其包括:权利要求1
...

【专利技术属性】
技术研发人员:刘国强杨煜红代存折李妃军
申请(专利权)人:杭州当虹科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1