服务端:

修改服务器端主机名

vim /etc/sysconfig/network

hostname master.com

添加客服端的ip和主机名到hosts文件

vim /etc/hosts

127.0.0.1localhost.localhost

同步ntp时间

ntpdate 203.117.180.36

date

#search localdomain #注释掉这行,不然造成后面无法认证

vim /etc/resolv.conf

reboot

由于puppet是由ruby语言编写,所以要安装ruby环境及库文件,命令帮助文件

yum install ruby ruby-libs ruby-rdoc

facter是一个系统盘点工具,收集主机的一些资料,比如CPU,主机IP等,它收集到值发送给puppet服务器端,

服务器端就可以根据不同的条件来对不同的节点机器生成不同的puppet配置文件

安装puppet之前必须先安装facter

wget http://downloads.puppetlabs.com/facter/facter-1.6.8.tar.gz

tar -xzvf facter-1.6.8.tar.gz

cd facter-1.6.8

ruby install.rb

安装puppet

wget http://downloads.puppetlabs.com/puppet/puppet-2.7.14.tar.gz

tar xzvf puppet-2.7.14.tar.gz

cd puppet-2.7.14

ruby install.rb

复制配置文件

cp conf/redhat/fileserver.conf /etc/puppet/

cp conf/redhat/puppet.conf /etc/puppet/

cp conf/redhat/server.init /etc/init.d/puppetmaster

设置puppetmaster为服务,并自动启动

ll /etc/init.d/puppetmaster

chkconfig --add puppetmaster

chkconfig --level 35 puppetmaster on

创建puppet帐号

puppetmasterd --mkuser

cat /etc/passwd |grep puppet

创建目录

mkdir -p /var/lib/puppet/rrd/

chown puppet.puppet /var/lib/puppet/rrd/

启动服务

/etc/init.d/puppetmaster start

查看puppet端口

net查看当然待批准证书列表stat -ntpl | grep 8140

puppetca -l

批准当前证书

puppetca -s client.com

查看验证签名,注意前面的+号,说明已经签名

puppetca -a --list

如果要批准全部证书

puppetca -s -a

也可以在puppetmaster端的puppet.conf加入这行:

autosign = true

服务端就自动签证书

验证证书是否正确

md5sum /var/lib/puppet/ssl/ca/signed/client.com.pem


实际举例子

到这里证明puppet的基本设置已经没有问题了;下面举一个例子:

1. 现在在服务器的/etc/puppet/manifests/建立site.pp里面放置如下内容

node default {

file{"/tmp/a.txt":

content => "helo,I am abc.bbb!",

ensure => present,

mode => 644,

owner => root,

group => root,

}

}

2. 在客户端上执行puppetd --test --server server.puppet.com可以发现/tmp/会生成a.txt文件,内容是content里面的内容。

[root@localhost ~]# cat /tmp/a.txt

helo,I am abc.bbb!

到这里就已经完全ok了。

客户端:

修改服务器端主机名

vim /etc/sysconfig/network

hostname master.com

添加客服端的ip和主机名到hosts文件

vim /etc/hosts

127.0.0.1localhost.localhost

同步ntp时间

ntpdate 203.117.180.36

date

#search localdomain #注释掉这行,不然造成后面无法认证

vim /etc/resolv.conf

reboot

由于puppet是由ruby语言编写,所以要安装ruby环境及库文件,命令帮助文件

yum install ruby ruby-libs ruby-rdoc

facter是一个系统盘点工具,收集主机的一些资料,比如CPU,主机IP等,它收集到值发送给puppet服务器端,

服务器端就可以根据不同的条件来对不同的节点机器生成不同的puppet配置文件

安装puppet之前必须先安装facter

wget http://downloads.puppetlabs.com/facter/facter-1.6.8.tar.gz

tar -xzvf facter-1.6.8.tar.gz

cd facter-1.6.8

ruby install.rb

安装puppet

wget http://downloads.puppetlabs.com/puppet/puppet-2.7.14.tar.gz

tar xzvf puppet-2.7.14.tar.gz

cd puppet-2.7.14

ruby install.rb

复制文件

cd puppet-2.7.14

cp conf/auth.conf /etc/puppet/

cp conf/namespaceauth.conf /etc/puppet/

cp conf/redhat/puppet.conf /etc/puppet/

cp conf/redhat/client.init /etc/init.d/puppet

chmod 755 /etc/init.d/puppet

chkconfig --add puppet

chkconfig puppet on

如果报错需要手动创建用户和组

puppet --mkusers

手动创建puppet用户与组

groupadd puppet;useradd -g puppet -M puppet

创建目录

mkdir -p /var/lib/puppet/rrd

chown puppet.puppet /var/lib/puppet/rrd

启动服务

service puppet start

测试解析与puppetmaster端口是否畅通

telnet 192.168.5.55 8140

从服务端取回已批准的证书

puppetd --test --server master.com

验证

md5sum /var/lib/puppet/ssl/certs/client.com.pem