天天看點

Puppet常用配置與管理

一、puppet自動認證:

首先我們先來看一個問題,新伺服器可以通過kickstart自動安裝完,并且自動安裝完puppet相關包,安裝完後用戶端會請求證書,然後伺服器會給用戶端頒發證書,如果手動頒發很麻煩,如下配置可以讓伺服器自動驗證。  

前提是配置好hosts  

Master   192-168-0-130.APP.com  

Client   192-168-0-131.APP.com  

在伺服器端的puppet.conf配置檔案裡面[main]下方加上autosign = true   

重新開機puppetmaster服務即可!  

這樣在用戶端執行puppetd --server=192-168-0-130.APP.com --test 伺服器端會自動認證!  

二、重新生成證書:

很多時候由于更換主機名,我們需要重新配置認證:  

(1)、首先在用戶端删除 rm -rf /var/lib/puppet/ssl/檔案夾  

(2)、然後在伺服器端删除用戶端的證書:puppetca --clean 192-168-0-131.APP.com 【 192-168-0-131.APP.com 用戶端的主機名】  

(3)、然後再在用戶端執行puppetd --server=192-168-0-130.APP.com --test 即可!  

三、配置用戶端自動同步:

在用戶端安裝完puppet後,并且認證完後,我們可以看到效果,那怎樣讓它自動與伺服器同步呢?預設多少分鐘跟伺服器同步呢?怎樣修改同步的時間呢,這時候我們需要配置用戶端:  

(1)、配置puppet相關參數和同步時間:  

vi /etc/sysconfig/puppet  

PUPPET_SERVER=192-168-0-130.APP.com 伺服器mater的host  

PUPPET_PORT=8140 通路伺服器的8140端口  

PUPPET_LOG=/var/log/puppet/puppet.log 本地日志  

PUPPET_EXTRA_OPTS=--waitforcert=500  

然後啟動 /etc/init.d/puppet start 即可  

 (2)、預設配置完畢後,用戶端會半個小時跟伺服器同步一次,我們可以修改這個時間。 vi  /etc/puppet/puppet.conf 的 [agent]下加入:   

runinterval = 60  //代表60秒跟伺服器同步一次  

修改完後重新開機puppet 過一分鐘即可看到用戶端同步的效果!  

 四、puppetrun的使用(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  

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表示成功。

執行完在/tmp/下建立test.txt檔案!puppetrun還有更進階的用法,可以檢視puppetrun –help  

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

下一篇: 域名系統

繼續閱讀