puppet实现运维自动化.docx


立即下载 薄情
2024-04-21
puppet 服务器 工作 客户端 工具 解析 代码 facter 客户 发送
68.4 KB

Puppet实现自动化运维
一、案例分析
1、案例概述:
随着服务器数量的增多,系统管理员任务量也逐渐增加,这时就需要简洁的、强大的框架来完成系统管理任务为实现这一目的,我们将引入一批工具,这批工具是“可编程”的,系统管理员只需要为这批工具写上几行“代码”,它便会自动完成所有的工作,这批工具就是运维自动化puppet
在一些大型互联网企业中,运维自动化管理着几百甚至上千台服务器,它可以针对多台服务器进行统一操作,例如部署统一软件、进行统一上线维护等,而且能够快速完成上线部署,减少人力及人力误操作风险
2、Ppuppet工作原理
puppet的工作原理如下:
puppet的目的是让系统管理员只集中于要管理的目标,而忽略实现的细节。puppet既可以在单机上使用,也可以以C/S结构使用,在大规模部署puppet的情况下,通常我们会使用C/S结构,在这种结构下,服务端运行puppetmaster程序客户端运行puppetclient服务程序
具体的工作流程图如下所示
图1
puppet有两种工作模式,分别是
(1)客户端主动拉取服务器上的资源,少量服务器的场景。
(2)服务器主动推送,客户端需要配置,并且启动puppetclient,大量服务器的场景。
1)客户端主动拉取
(1)客户端puppet调用facter(facter是通过ssl加密收集及检测分析客户端配置信息的一个工具),facter探出主机的一些变量,如主机名、内存信息、IP地址等。puppet把这些信息通过ssl连接发送给服务器端。
(2)服务器端的puppetmaster通过facter工具分析检测客户端的主机名,然后找到项目主配置文件manifest里面相对应的node配置,并对该内部内容进行解析。facter发送过来的信息可以作为变量处理,node牵涉到的代码才能够正确解析,其他没牵涉的代码不解析。解析分为几个阶段,首先进行语法检查,如果语法没有没错,就继续解析,解析的结果生成一个伪代码,然后将伪代码发送给客户端。
(3)客户端接收到伪代码并且执行,客户端把执行的结果发送给服务器端。
(4)服务器把客户端的执行结果写入日志。
puppet工作过程有以下两地啊你需要注意
(1)为了保证安全,client与Masgter之间是基于ssl和证书的,只有经Master证书认证的Client可以与


puppet/服务器/工作/客户端/工具/解析/代码/facter/客户/发送/ puppet/服务器/工作/客户端/工具/解析/代码/facter/客户/发送/
-1 条回复
登录 后才能参与评论
-->