puppet 需要预先安装一些软件包(masterclient都得安装)

#yum install ruby ruby-libs ruby-shadow


puppet 源码包安装

1.Master

安装facter

#wget http://puppetlabs.com/downloads/facter/facter-latest.tgz

#tar -zxvf facter-latest.tgz

#cd facter-*

#ruby install.rb


安装puppet

#wget http://puppetlabs.com/downloads/puppet/puppet-latest.tgz

#tar -zxvf puppet-latest.tgz

#cd puppet-*

#ruby install.rb


步骤操作

1> cp配置文件


2> cp puppetmaster启动脚本并且添加执行权限

设置hostnamehosts

1> 永久性修改本机的主机名

2> 临时修改本机的主机名

3> 在hosts里将puppet指向自己

puppet创建用户和组,目录


注:会创建puppet用户和组,还会在/var/lib下生成puppet目录,目录结构如图:

还有一个facts目录我已经删除,不删除的话启动puppetmaster的时候会报错。


master生成一份配置文件

启动puppetmaster:

失败> 没删除facts目录的时候,会报错

成功> master启动成功


2.客户端配置

和服务器端安装方法差不多,利用上的源码包安装facterpuppet


步骤操作

cp启动程序(默认是半个小时向master请求一次)

为客户端生成配置文件

修改hostnamehosts

1> 修改hosts指向master的ip和自己的主机名

2> 临时修改本机的主机名

3> 永久性的修改本机的主机名


3.服务端认证

在客户端执行

服务器端执行

该命令是查看客户端请求

签发证书


4.配置site.pp

服务端配置

客户端执行

执行后的结果


   5.证书管理

1>master上查看申请证书请求

#  puppet cert --list


2>签发证书

#  puppet cert --sign agent01.xxxx.com


如果一次性签发所有的证书,采用如下命令:

#  puppet cert --sign –all

也可以设置自动签发证书。


3>让证书过期

#  puppet cert -revoke puppet-test

删除证书

#  puppet cert --clean puppet-test


证书签名的过期或删除需要重启puppetmaster服务。


4>可以通过/etc/puppet/auth.conf文件配置签名的ACL列表。