天天看點

puppet kick使用詳解

當我們配置完puppet伺服器端和用戶端後,用戶端會預設半個小時跟伺服器端同步,如果我們需要更新重要檔案,是不是得立即生效呢,那有什麼好的辦法嗎?答案:有!  

在伺服器端使用puppetrun這個指令可以給用戶端發送一段信号,告訴用戶端立刻跟伺服器同步,這樣就達到我們的目的了!那怎樣配置呢?  

(1)、修改用戶端上的puppet的配置檔案  

vi /etc/puppet/puppet.conf  

在[agent]後面添加  

listen = true  //這個是讓puppet監聽8139端口。  

(2)、修改管戶端的puppet的/etc/sysconfig/puppet (可選) 

vim /etc/sysconfig/puppet  

PUPPET_SERVER=192-168-0-130.APP.com  //改為你對應的puppetmaster的主機名。  

(3)、建立namespaceauth.conf這個檔案,vi /etc/puppet/namespaceauth.conf添加如下内容:  

[puppetrunner]  

allow *  

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

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

path /run  

method save  

allow *  

path /  

auth any  

即可!  

然後重新開機用戶端:/etc/init.d/puppet restart  

(5)、在伺服器端測試一下:執行一下指令  

puppetrun -p 10 –host 192-168-0-131.APP.com 後面也可以加多個用戶端主機名!  

而且已經發送了信号給用戶端!可以去用戶端檢視一下效果 tail -fn 100 /var/log/puppet/puppet.log 

#高版本的puppet沒有puppetrun這個指令,可以用如下指令來執行,執行之前跟puppetrun一樣需要配置并授權

提示finished表示發送信号完成,相反failed則表示失敗。   

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

推送方法,在服務端運作指令

推送指令也可以這樣: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

     本文轉自yzy121403725 51CTO部落格,原文連結:http://blog.51cto.com/lookingdream/1845673,如需轉載請自行聯系原作者