首页 > 代码库 > puppet kick使用详解

puppet kick使用详解

  1. 当我们配置完puppet服务器端和客户端后,客户端会默认半个小时跟服务器端同步,如果我们需要更新重要文件,是不是得立即生效呢,那有什么好的办法吗?答案:有!  

  2. 在服务器端使用puppetrun这个命令可以给客户端发送一段信号,告诉客户端立刻跟服务器同步,这样就达到我们的目的了!那怎样配置呢?  

  3. (1)、修改客户端上的puppet的配置文件  

  4. vi /etc/puppet/puppet.conf  

  5. 在[agent]后面添加  

  6. listen = true  //这个是让puppet监听8139端口。  

  7. (2)、修改管户端的puppet的/etc/sysconfig/puppet (可选) 

  8. vim /etc/sysconfig/puppet  

  9.  

  10. PUPPET_SERVER=192-168-0-130.APP.com  //改为你对应的puppetmaster的主机名。  

  11.  

  12. (3)、新建namespaceauth.conf这个文件,vi /etc/puppet/namespaceauth.conf添加如下内容:  

  13. [puppetrunner]  

  14. allow *  

  15.  

  16. (4)、还需要修改auth.conf。  

  17. 在path /之前添加下内容,加粗部分:  

  18. path /run  

  19. method save  

  20. allow *  

  21. path /  

  22. auth any  

  23. 即可!  

  24. 然后重启客户端:/etc/init.d/puppet restart  

  25. (5)、在服务器端测试一下:执行一下命令  

  26.  

  27. puppetrun -p 10 –host 192-168-0-131.APP.com 后面也可以加多个客户端主机名!  

  28.  

  29. 而且已经发送了信号给客户端!可以去客户端查看一下效果 tail -fn 100 /var/log/puppet/puppet.log 

  30.  

  31. #高版本的puppet没有puppetrun这个命令,可以用如下命令来执行,执行之前跟puppetrun一样需要配置并授权

  32. 提示finished表示发送信号完成,相反failed则表示失败。   

  33. puppet kick -d host 192-168-0-131.APP.com 也可以code 0表示成功。

推送方法,在服务端运行命令

puppet kick -p 10 –-host 客户端 
或 
puppetrun -p 10 –-host 客户端

推送命令也可以这样:puppet kick -p 10 客户端1 客户端2

指定所有主机名进行puppet kick -p --all

指定标签时要使用tag参数,且需要在配置资源的时候配置tags参数,代码如下:

vi init.pp

class test {

file {‘/tmp/$hostname.txt‘:

   content => "Testing JSON",

    tags => "tagkick",

   }

}

puppet kick -p 10 -t tagkick host1 host2


本文出自 “梦想照进现实” 博客,请务必保留此出处http://lookingdream.blog.51cto.com/5177800/1845673

puppet kick使用详解