puppet基本安装和配置

puppet是一个类似cfengine的分发工具。主要是由ruby进行开发的。最新版本是2.6了,建议安装最新的版本,省却了很多bug的困扰。

在我的测试环境中,server是一台cent5.5的服务器,而客户端是我的ubuntu10.04。 下面简单说下安装过程。

安装前我centos5.5命名为puppet.timo.com
而ubuntu10.04命名为desktop.timo.com
这个可以在hosts或者DNS中进行指定。

由于是最新的版本,所以我们没法通过源来进行安装。

 yum install ruby rdoc ri ruby-devel ibdifflcs-ruby libdifflcs-ruby1.8 sudo apt-get install ruby rdoc ri ruby-devel libdifflcs-ruby libdifflcs-ruby1.8 

上面2个是在centos和ubuntu下安装的依赖包

然后从网站上下载facter和puppet直接解压后用install.rb就能进行安装了

http://puppetlabs.com/downloads/facter/facter-1.5.7.tar.gz

http://puppetlabs.com/downloads/puppet/puppet-2.6.0.tar.gz

接下来就是进行设置了
首先在server端启动server

 puppetmasterd --certname puppet.timo.com 

接着在client端启动client

 puppet agent --server puppet.timo.com --verbose 

接着我们可以在server端看到有client会连过来,这个需要server将这个client加入到信任列表中

 puppetca --list --all puppetca --sign desktop.timo.com 

由于我们是测试使用,所以希望每一分钟启动同步一次,默认是1800秒也就是半个小时

 vim /etc/puppet/puppet.conf runinterval = 60 

然后将client端的puppet重新启动一下

好了,安装和基本配置已经完成了,下面我开始试验进行同步了。 这里主要是进行测试效果,具体可以查看官方文档已经大家的实例 实例下载有

http://puppet.wikidot.com/
http://www.example42.com/puppet/browsemodules.php

 sudo mkdir -p /etc/puppet/manifests/classes sudo vim /etc/puppet/manifests/classes/sudo.pp class sudo { file { "/etc/sudoers": owner => "root", group => "root", mode => 440, } } sudo vim /etc/puppet/manifests/site.pp import "classes/*" node default { include sudo } 

这样2个文件保存后,/etc/sudoers这个文件在60秒后就会把权限改为440了。
当然这个只是很简单的案例,具体的可以参考网站上的案例来完成很多的复杂的分布式设置。

##########################################################

Best regards
Timo Seven

()
Linux System Admin & MySQL DBA