puppet安装准备工作

准备两台机器:192.168.0.188(服务端)192.168.0.189(客户端)

两台机器关闭selinux(临时关闭setenforce 0),清空iptables规则(iptables -F ,service iptables save),并保存,设置hostname

188上hostname   web9.xuan.com,vi  /etc/sysconfig/network定义hostname

189上hostname   web10.xuan.com,vi  /etc/sysconfig/network定义hostname

编辑hosts文件,188和189全部为(vi /etc/hosts)

192.168.0.188  web9.xuan.com

192.168.0.189  web10.xuan.com

puppet(1.1-1.6)_puppet

puppet(1.1-1.6)_puppet_02

两台机器安装ntpdata,并建立自动同步时间的任务计划:

yum install -y ntp

crontab -e //加入

*/10  *  *  *  *   ntpdate  time.windows.com  >/dev/null  2>&1   (每隔十分钟执行一下)




puppet安装

188服务端上

安装puppet源    rpm -ivh "http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm"

puppet(1.1-1.6)_puppet_03

安装服务端程序 yum  install  -y  puppet-server

启动服务  service  puppetmaster start

开机启动  chkconfig  puppetmaster  on

ps aux|grep puppet  查看一下它的进程 netstat -lnp 查看它启用了哪些端口


189客户端上

安装puppet源    rpm -ivh "http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm"

安装客户端程序 yum  install  -y  puppet

修改配置文件 vi /etc/puppet/puppet.conf  //在最后面添加

listen = ture

server = web9.xuan.com

runinterval = 10  //主动更新,每隔10秒

启动服务  service  puppet start

开机启动  chkconfig  puppet  on




puppet配置证书

服务端查看客户端证书列表 puppet cert list --all  //如果签发的证书,会在本行最前面带一个+

puppet(1.1-1.6)_puppet_04

客户端上生成的ssl证书 puppet agent --test --server web9.xuan.com

服务端签发指定客户端证书 puppet cert --sign web10

puppet(1.1-1.6)_puppet_05

服务端可以删除指定客户端证书 puppet cert clean web10

删除所有证书 puppet cert --clean --all


web9:puppet cert --clean --all

web10:/etc/init.d/puppet  stop

                 rm -rf /var/lib/puppet/ssl/*  (删除它原来的证书,它的证书是在这个路径下)

                /etc/init.d/puppet  start

web9:puppet cert --sign web10 (重新签发证书)





puppet配置自动签发证书

服务端删除客户端证书 puppet cert clean --all

客户端删除ssl相关文件   rm -rf /var/lib/puppet/ssl/*

服务端增加配置vim /etc/puppet/puppet.conf  //在【main】的最后一行加上autosign = true

服务端创建自动签发的配置文件 vim /etc/puppet/autpsign.conf  //加入如下内容

*.xuan.com

服务端重启puppetmaster服务  /etc/init.d/puppetmaster restart

客户端重启puppet服务  /etc/init.d/puppet  restart

服务端puppet cert list  --all  //可以看到web10.xuan.com已经签名

如果客户端不重启puppet服务,也可以通过命令来自动签发

puppet  agent  --test  --server  web9.xuan.com








puppet测试证书

服务端编辑配置文件 vi  /etc/puppet/manifests/site.pp  //添加如下内容

node  default {

file {"/tmp/123.txt":

        content => "test,test";

}}

puppet(1.1-1.6)_puppet_06

说明:如果不配置该文件,则客户端不会同步任何数据。

服务端重启puppetmaster服务  /etc/init.d/puppetmaster restart

客户端上稍等一会(每隔10s会自动执行服务端上的任务),或者直接命令行

puppet  agent  --test  --server  web9.xuan.com

这样在客户端的/tmp/下会有个123.txt文件,内容为test,test