自动化部署管理工具puppet的工作流程

自动化部署管理工具puppet的工作流程

ID:9224817

大小:302.19 KB

页数:4页

时间:2018-04-23

自动化部署管理工具puppet的工作流程_第1页
自动化部署管理工具puppet的工作流程_第2页
自动化部署管理工具puppet的工作流程_第3页
自动化部署管理工具puppet的工作流程_第4页
资源描述:

《自动化部署管理工具puppet的工作流程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、自动化部署管理工具Puppet大数据时代高伸缩性、容错性、分布式的特点给系统运维提出了更高的要求,系统管理员不再是疲于安装操作系统、对系统参数进行逐一配置与优化、打补丁、安装软件、配置软件、添加某个服务的时代。为了提高效率、避免重复劳动、减少错误、积累知识,系统管理员都已开始做一些局部的自动化工作。但这些还远不够,为了满足运维需求,需要更彻底地应用自动化运维工具。运维工作流程常见的运维工作流程包括:安装系统→优化系统与配置→安装软件→配置软件→添加监控→检查,等网站或系统正式上线后,后续可能还会有添加服务→配置变

2、更→打补丁修复漏洞等。是不是觉得很繁琐?尤其当我们负责大量服务器,无法凭借一己之力完成时,便需要一些自动化工具来帮忙了。系统运维工作面临的各种不确定性更让人头疼,在10台机器上变更应用还是很简单的事,但如果上升到100、1000台或者更多时就会变得非常复杂。重复性的劳动还会让人觉得疲惫和乏味,久而久之可能还会产生厌倦工作的情绪,而使用自动化部署管理工具puppet则能将这些问题迎刃而解。一、下面介绍下puppet的基本概念及工作流程等。1.puppet的服务器-客户端模型介绍。在使用任何软件前我们都需要了解其工作

3、原理,否则会给后续使用带来诸多不便。puppet采用了非常简单的服务器-客户端(即常用的C/S)架构,所有数据的交互都通过SSL进行,以保证安全,它的工作模型示意图如图3-1所示:3-1puppetr的C/S模型图如上图所示,puppet通常使用简单的C/S模型进行,服务端被称之为“puppetmaster”,安装在客户端的软件被称之为agent,客户端主机本身被定义为一个节点,如上图中的backup.cn7788.com、xen.cn7788.com及nginx.cn7788.com。2.其工作流程如图3-2所

4、示:3-2puppet工作流程图1.客户端puppet-client向puppet-master发起认证请求,或使用带签名的证书。2.puppet-master告诉puppet-client是合法的。3.puppet-client调用facter,Facter探测出主机的一些变量,例如主机名、内存大小、IP地址等,puppet-client将这些信息通过SSL连接发送到服务器端。4.puppet-master服务器端检测客户端的主机名,然后找到manifest对应的node配置,并对该部分内容进行解析。facte

5、r送过来的信息可以作为变量处理,node牵涉到的代码才解析,其他没牵涉的代码不解析。解析分为几个阶段,首先是语法检查,如果语法错误就报错;如果语法没错,就继续解析,解析的结果生成一个中间的“伪代码”(catelog),然后把伪代码发给客户端。5.puppet-client端接收到“伪代码”,并且执行。6.puppet-client端在执行时判断有没有file文件,如果有,则向fileserver发起请求。7.puppet-client端判断有没有配置report,如果已配置,则把执行结果发送给服务器。8.pupp

6、et-server端把puppet-client端的执行结果写入日志,并发送给报告系统。3.puppet的基础概念资源:file:主要负责管理文件,这里的文件是真实存在的。package:软件包的安装管理service:系统服务的管理cron:配置自动任务计划exec:远程执行运行命令我们通过对这些资源的管理和配置,就能够在复杂的分布式环境中,自动化的管理数量繁多的机器。类:类的作用是把一组资源集中一个盒子里面,一起使用,这样做的好处是方便大家写出更简洁的代码,便于维护,它相当于资源的容器。模板:模板是为资

7、源设置统一的格式。节点:在puppet中是利用node(节点)来区分使用不同的client客户端。定义:定义(define)在puppet的官方文档里是没有这一说法的,我们可以理解为资源的组合容器,这里建议不要翻译成函数。puppet的函数是puppetmaster上运行的,并且只能在puppetmaster上面运行,比如包含类和模块的include指令,我们将其称之为puppet的函数。模块:模块是资源、类、定义的组和,相当于更强的容器了,模块名必须为普通字符,这里以名为nginx的模块来举例说明下,它的

8、路径位于/etc/puppet/modules/nginx下。一般来说,nginx模块会包含三个目录,分别为manifests、files及templates目录。manifests目录用于存放init.pp文件及其它配置文件,init.pp文件是模块的核心,每一个模块都必须有一个init.pp文件。files目录用于存放模块目录需要用到的文件。templates目

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。