安装配置:
1. Puppet在RedHat/CentOS系 统上安装
Puppet是基于Ruby写成的,所以安装前要准备好Ruby环境。在中心的Server上安装puppet-server包,并运行 puppetmasterd进程;在被管理机上安装puppet包,并运行puppetd进程。另外,在每台主机上配置好自己的hostname,之后每 台机器要以hostname区分。
1). 安装ruby环境:
yum install ruby ruby-rdoc
2). 安装puppet
Server端安装:
rpm -Uvh epel-release-5-4.noarch.rpm
yum install puppet-server
chkconfig --level 2345 puppetmaster on
修改hosts,添加下面行:
Vi /etc/hosts
192.168.189.134 puppet
192.168.189.133 web1
客户端安装:
yum install puppet
chkconfig --level 2345 puppet on
192.168.189.134 puppet
192.168.189.133 web1
3). 启动puppet
Server端首次运行前,编辑/etc/puppet/manifests/site.pp文件,内容可以用最基本的:
# Create “/tmp/testfile” if it doesn’t exist.
class test_class {
file { “/tmp/testfile”:
ensure => present,
mode => 644,
owner => root,
group => root
}
# tell puppet on which client to run the class
node web1 {
include test_class
启动Server端:
service puppetmaster start
启动客户端:
/etc/init.d/puppet start
最好重启下服务器
init 6
puppet的客户端和服务器是通过ssl链接的,在服务器有一个自签名的根证书,在安
装软件的时候自动生成。注意:要在安装软件以前先设置主机名,因为生成证书的时候
要把主机名写入证书,如果证书生成好了再改主机名,就连不上,这是很多初学者遇到
的问题。每个客户端的证书要经过根证书签名才能和服务器连接。所以首先要在客户端
执行下面的命令来请求服务器签名证书。
puppetd --test --server puppet
产生的信息:
info: Caching catalog for web1.localdomain
info: Applying configuration version '1297250911'
notice: Finished catalog run in 0.04 seconds
执行上面的命令,客户端将生成证书,并且把证书签名请求发到服务器端。登录到服务
器端,执行下面的命令查看是否有客户端的证书请求:
puppetca --list
如果看到了客户端的证书请求,用下面的命令对所有证书请求签名:
puppetca -s -a
防火墙和端口设定。puppet服务器端默认使用8140端口监听服务,需要在iptables上开启该端口。
iptables -A INPUT -p tcp --dport 8140 -j ACCEPT
请在/etc/sysconfig/iptables 中加入上文的规则,并重启iptables。
4). 测试:
也可以将日志直接打印到终端上进行测试:
Server端:puppetmasterd -d --no-daemonize -v --trace
客户端:puppetd --test --trace --debug
本文转自 holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/489728