Puppet常見 FAQs
puppet是一個為實現(xiàn)數(shù)據(jù)庫中心自動化管理而設計的配置管理軟件。基于c/s架構(gòu)。puppet的服務器端保存著所有的對客戶端服務器的配置代碼,在puppet里面叫做manifest. 客戶端下載manifest之后,可以根據(jù)manifest對服務器進行配置,例如軟件包管理,用戶管理和文件管理等等。
Q: puppet的證書機制是什么樣的?
A: puppet證書問題是初學者最容易遇到的問題,這里講一下怎么處理.puppet服務器端在安裝或者首次啟動的時候,會自動生產(chǎn)一個根證書和服務器證書,證書和主機名相關(guān),因此如果證書生成后友改了主機名,那就會出問題. puppet客戶端在首次啟動的時候,也會自動生成證書;但是這個證書需要得到puppet服務器端的簽名才行,因此;puppet客戶端第一次連接服務器的時候,會發(fā)送一個證書請求; 服務器端需要對這個證書進行簽名. puppet客戶端在下次連接服務器的時候就會下載簽名好的證書.
Q:debian下面的證書出錯,怎么解決?
A:本方法是提供給初學者的測試環(huán)境,生成環(huán)境不建議這么做.首先在puppetmaster(服務器端)刪除/var/lib/puppet/ssl目錄;然后啟動puppetmasterd ; 然后在客戶端也刪除/var/lib/puppet/ssl目錄.把puppetmaster機器的主機名和對應的ip地址寫入客戶端機器的/etc/hosts.然后執(zhí)行
puppetd——t e s t ——server server . example . com #發(fā)送證書請求
把server.example.com替換成你自己的服務器主機名. 執(zhí)行這個命令,會有提示信息,不用理會.
然后登錄到puppetmaster服務器機器,執(zhí)行
puppetca ——l i s t #列出所有證書請求
命令,看看是否有客戶端的證書請求;如果沒有,請檢查前面的步驟是執(zhí)行正確,以及網(wǎng)絡連
接是否正常. 如果puppetca --list 能看到請求,那么執(zhí)行
puppetca —s —a #簽名所有證書
命令; 對所有的證書請求簽名.
最后回到puppet客戶端機器,執(zhí)行
puppetd ——t e s t ——server server . example . com #得到證書
就能建立連接了,如果你的site.pp寫好了.就可以測試puppet了.
補充: 如果客戶端和服務器端的時間不一致也會導致證書認證失敗,因此出現(xiàn)證書問題的時候需要檢查兩臺機器的時間是否一致,如果不一致用date命令或者ntpdate命令讓兩臺機器的時間一致。
Q:redhat下面的證書問題如何解決?
A:同debian ; ssl目錄也是在/var/lib/puppet/ssl
Q:源代碼安裝的puppet如何解決證書問題?
A: 同debian,但是ssl目錄在/etc/puppet/ssl
Q:如何配置puppetrun?
A: 在puppet客戶端建立一個文件/etc/puppet/auth.conf ,增加兩行內(nèi)容
path / allow *
然后用下面的參數(shù)啟動puppetd,便于調(diào)試。
puppetd ——no—c l i e n t ——l i s t e n ——verbose ——no—daemonize ——server server . puppet . com
啟動好以后,用ss -nlp|grep puppet 命令看看puppetd是否監(jiān)聽到了8139端口。如果正常,在其他機器上運行
puppetrun ——host host1 . puppet . com
命令來看看puppetrun是否正常。
【編輯推薦】