一种基于SaltStack的自动化运维方法技术

技术编号:14989519 阅读:70 留言:0更新日期:2017-04-03 20:29
本发明专利技术公开了一种基于SaltStack的自动化运维方法,属于自动化运维部署领域,包括以下步骤:客户端通过facter收集客户端信息并发送至服务端;连接服务端并请求catalog日志;请求节点node的信息;从服务器端接收节点node的实例;编译代码包括语法检查的工作;查询是否有exported 虚拟资源,如有,则从数据库接收虚拟资源,接收完整的catalog日志;存储catalog日志到数据库;客户端接收完整的catalog日志。本发明专利技术通过部署SaltStack环境,在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理。

【技术实现步骤摘要】

本专利技术涉及自动化运维部署领域,具体地说是一种基于SaltStack的自动化运维方法。
技术介绍
SaltStack是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的SaltStack描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。SaltStack把这些系统实体称之为资源,SaltStack的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
技术实现思路
本专利技术的技术任务是提供一种基于SaltStack的自动化运维方法,通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理。本专利技术解决其技术问题所采用的技术方案是:一种基于SaltStack的自动化运维方法,包括以下步骤:客户端通过facter收集客户端信息并发送至服务端;连接服务端并请求catalog日志;请求节点node的信息;从服务器端接收节点node的实例;编译代码包括语法检查的工作;查询是否有exported虚拟资源,如有,则从数据库接收虚拟资源,接收完整的catalog日志;存储catalog日志到数据库;客户端接收完整的catalog日志;客户端SaltStackd调用facter,facter探测出主机的一些变量,包括主机名,内存大小,ip地址,pupppetd把这些信息通过ssl连接发送到服务器端;服务器端的SaltStackmaster检测客户端的主机名,然后找到manifest里面对应的node配置,并对该部分内容进行解析,facter送过来的信息作为变量处理,node牵涉到的代码才解析,其他没牵涉的代码不解析;语法检查,如果语法错误就报错,如果语法没错,就继续解析,解析的结果生成一个中间的“伪代码”,然后把伪代码发给客户端;客户端接收到“伪代码”,并且执行,客户端把执行结果发送给服务器;服务器端把客户端的执行结果写入日志。进一步的,SaltStack客户端周期性地向SaltStack服务端发送文件同步请求之前,SaltStack客户端搜集客户机状态,提供给所述SaltStack服务器端。进一步的,客户状态以catalog日志方式记录。本专利技术的一种基于SaltStack的自动化运维方法与现有技术相比,具有以下有益效果:是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建;通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。附图说明图1是基于SaltStack的自动化运维方法流程图。具体实施方式下面对本专利技术作进一步说明。一种基于SaltStack的自动化运维方法,包括以下步骤:客户端通过facter收集客户端信息并发送至服务端;连接服务端并请求catalog日志;请求节点node的信息;从服务器端接收节点node的实例;编译代码包括语法检查的工作;查询是否有exported虚拟资源,如有,则从数据库接收虚拟资源,接收完整的catalog日志;存储catalog日志到数据库;客户端接收完整的catalog日志;SaltStack客户端周期性地向SaltStack服务端发送文件同步请求之前,SaltStack客户端搜集客户机状态,提供给所述SaltStack服务器端。客户状态以catalog日志方式记录。客户端SaltStackd调用facter,facter探测出主机的一些变量,包括主机名,内存大小,ip地址,pupppetd把这些信息通过ssl连接发送到服务器端;服务器端的SaltStackmaster检测客户端的主机名,然后找到manifest里面对应的node配置,并对该部分内容进行解析,facter送过来的信息作为变量处理,node牵涉到的代码才解析,其他没牵涉的代码不解析;语法检查,如果语法错误就报错,如果语法没错,就继续解析,解析的结果生成一个中间的“伪代码”,然后把伪代码发给客户端;客户端接收到“伪代码”,并且执行,客户端把执行结果发送给服务器;服务器端把客户端的执行结果写入日志。为了保证安全,client和master之间是基于ssl和证书的,只有经master证书认证的client可以与master通信;SaltStack会让系统保持在你所期望的某种状态并一直维持下去,如检测某个文件并保证其一直存在,保证ssh服务始终开启,如果文件被删除了或者ssh服务被关闭了,SaltStack下次执行时(默认30分钟),会重新创建该文件或者启动ssh服务。本文档来自技高网...

【技术保护点】
一种基于SaltStack的自动化运维方法,其特征在于, 包括以下步骤:客户端通过facter收集客户端信息并发送至服务端;连接服务端并请求catalog日志;请求节点node的信息;从服务器端接收节点node的实例;编译代码包括语法检查的工作;查询是否有exported 虚拟资源,如有,则从数据库接收虚拟资源,接收完整的catalog日志;存储catalog日志到数据库;客户端接收完整的catalog日志;客户端SaltStackd调用facter,facter探测出主机的一些变量,包括主机名,内存大小,ip地址,pupppetd 把这些信息通过ssl连接发送到服务器端;服务器端的SaltStackmaster 检测客户端的主机名,然后找到manifest里面对应的node配置, 并对该部分内容进行解析,facter送过来的信息作为变量处理,node牵涉到的代码才解析,其他没牵涉的代码不解析;语法检查,如果语法错误就报错,如果语法没错,就继续解析,解析的结果生成一个中间的“伪代码”,然后把伪代码发给客户端;客户端接收到“伪代码”,并且执行,客户端把执行结果发送给服务器;服务器端把客户端的执行结果写入日志。...

【技术特征摘要】
1.一种基于SaltStack的自动化运维方法,其特征在于,包括以下步骤:
客户端通过facter收集客户端信息并发送至服务端;
连接服务端并请求catalog日志;
请求节点node的信息;
从服务器端接收节点node的实例;
编译代码包括语法检查的工作;
查询是否有exported虚拟资源,如有,则从数据库接收虚拟资源,接收完整的catalog日志;
存储catalog日志到数据库;
客户端接收完整的catalog日志;
客户端SaltStackd调用facter,facter探测出主机的一些变量,包括主机名,内存大小,ip地址,pupppetd把这些信息通过ssl连接发送到服务器端;服务器端的SaltStackmaster检测客户端的主机名,然后找到manifest里...

【专利技术属性】
技术研发人员:刘鹏唐旋王传超
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:山东;37

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

1