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
blog: http://www.timoseven.com
twitter: http://twitter.com/zauc
Linux System Admin & MySQL DBA

关于 Timo
XNIX SA & MYSQL DBA

4 Responses to puppet基本安装和配置

  1. mkrss says:

    呵呵,要把关建的点写出来,比如解决证书那个经典的认证失败, 和DNS 协作时总敬告无法解析域名(实际上已解析到)的问题,
    我第一次折腾这个时候,加了DNS后.就一直不晓得怎么解决证书认真失败的问题, 网上也看到很多人提问这个,就是没有人回答.

    • Timo says:

      这个我在下周会进行测试DNS的。证书认证失败我用2.6版本没有碰到过还,只有在用0.25的时候碰到过,但是装了2.6就没有了

  2. laird007 says:

    呵呵。。。。我证书失败 环境debian 下。。
    但是dns我用/etc/hosts/下面添加的。。

    Debian Puppet自动化管理Linux

留下评论