http://bbs.linuxtone.org IT 运维专家网
Puppet 后台运行的时候默认是半小时执行一次,不是很方便修改。可以考虑不让它
在后台跑而是使用 crontab 来调用。这样可以精确控制每台客户端的执行时间。分散
执行时间也可以减轻压力
Puppet 的工作细节分成如下几个步骤:
1、 客户端 puppetd 调用 facter,facter 会探测出这台主机的一些变量如主机名、内
存大小、IP 地址等。然后 puppetd 把这些信息发送到服务器端。
2、 服务器端的 puppetmaster 检测到客户端的主机名,然后会到 manifest 里面对应
的 node 配置,然后对这段内容进行解析,facter 送过来的信息可以作为变量进行处
理的,node 牵涉到的代码才解析,其它的代码不不解析,解析分几个过程:语法检
查、然后会生成一个中间的伪代码,然后再把伪代码发给客户机。
3、 客户端接收到伪代码之后就会执行,客户端再把执行结果发送给服务器。
4、 服务器再把客户端的执行结果写入日志。
二、安装 Puppet
2.1 安装需求
注:本文都是在 Centos5 下进行安装与配置。其它系统请参考官网。
Ruby 1.8.2+ facter
其它的库:
base64
cgi
digest/md5
etc
fileutils
ipaddr
openssl
strscan
syslog
uri
webrick
webrick/https
xmlrpc
2.2 Puppet 版本
2.6.4
0.25.5
2.6.4 和 0.25.5 有功能和基本命令上有一些变化区别如下:
puppetmasterd → puppet master
puppetd → puppet agent
puppet → puppet apply
puppetca → puppet cert
ralsh → puppet resource
puppetrun → puppet kick
puppetqd → puppet queue
filebucket → puppet filebucket