puppet的安裝和配置
Puppet 學(xué)習(xí)之puppet 的安裝和配置一、Puppet 簡介Puppet 基于ruby 語言開發(fā)的自動化系統(tǒng)配置工具,可以C/S模式或獨立運行,支持對所有UNIX 及類UNIX 系統(tǒng)的配置管理
Puppet 學(xué)習(xí)之puppet 的安裝和配置
一、Puppet 簡介
Puppet 基于ruby 語言開發(fā)的自動化系統(tǒng)配置工具,可以C/S模式或獨立運行,支持對所有UNIX 及類UNIX 系統(tǒng)的配置管理,最新版本也開始支持對Windows 操作系統(tǒng)有限的一些管理。Puppet 適用于服務(wù)器管的整個過程 ,比如初始安裝、配置更新以及系統(tǒng)下線。
二、Puppet 的安裝
Puppet 的安裝方式支持源碼安裝、yum 安裝以及ruby 的gem 安裝。官網(wǎng)推薦使用yum 來安裝puppet ,方面以后的升級、管理、維護。Centos 可以采用yum 來安裝,但是Centos 的默認源中沒有puppet 包,因此需要先安裝epel 包。Epel 是企業(yè)版Linux 附加軟件包(Extra Packages for Enterprise Linux)的縮寫,是一個由特別興趣小組創(chuàng)建、維護并管理的,針對紅帽企業(yè)版Linux(RHEL)及其衍生發(fā)行版(比如CentOS 、Scientific Linux)的一個高質(zhì)量附加軟件包項目。
1. Master的安裝

2. Agent的安裝

至此如果安裝過程不報錯的話,puppet 已經(jīng)安裝成功了。
三、Puppet 的簡單配置
1. Master的配置
先來看看puppet 主目錄下都有什么文件已經(jīng)每個文件是做什么用的: ls -1 /etc/puppet/


剛開始的話, puppet.conf不需要配置就可以滿足。
需要更改hosts 文件,注意hosts 要和主機名對應(yīng)。
vim /etc/hosts添加如下內(nèi)容:
大家要根據(jù)實際情況加,我這里是一個master ,一個agent 。
2. Agent的配置
Agent 的配置主要是更改agent 上的/etc/puppet/puppet.conf文件的
[agent]部分。
在agent 上vim /etc/puppet/puppet.conf 添加如下配置
,


四、puppet 的啟動和停止
1. Master的啟動和停止
Master 的啟動

也可以以采用 service puppetmaster start啟動
Master 的停止

也可以以采用 service puppetmaster stop停止
更改多選項可以使用/etc/rc.d/init.d/puppetmaster –h 查看
2. Agent的啟動和停止
Agent 的啟動
也可以采用service puppet start來啟動
Agent 的停止
也可以采用service puppet stop來停止。
,五、puppet 使用
puppet 客戶端發(fā)送證書
#客戶端第一次啟動向服務(wù)端發(fā)送證書,要求簽好之后才能通信

正常提示信息:
info: Creating a new SSL key for client.puppet.com
info: Caching certificate for ca
info: Creating a new SSL certificate request for node.innofidei.com info: Certificate Request fingerprint (md5): 74:34:A9:DC:F6:52:B4:96:D1:FF:D3:68:F6:E5:7B:DE
Exiting; no certificate found and waitforcert is disabled
puppet 服務(wù)端簽證書


正常提示信息:
notice: Signed certificate request for node.innofidei.com
notice: Removing file Puppet::SSL::CertificateRequest client.puppet.com at '/var/lib/puppet/ssl/ca/requests/node.innofidei.com.pem'
下面是一個文件同步的例子
puppet 服務(wù)端
,



到這里為止puppet 的服務(wù)端已經(jīng)設(shè)置好了
,puppet 客戶端

六、FAQ
1.

連接master 的時候出現(xiàn)如下報錯:
解決辦法:檢查機器主機名的設(shè)置,以及是否添加進hosts 。 2. 連接master 的時候出現(xiàn)如下報錯:

解決辦法:服務(wù)器端沒有配置hosts 域名綁定,在hosts 中添加。 3.

連接master 的時候出現(xiàn)如下報錯:
解決辦法:服務(wù)端還沒有返回簽發(fā)證書,使用puppet cert list查看 4. 連接master 的時候出現(xiàn)如下報錯:

可能時間不同步, 可能本地證書有更新需要清空,可能主機名沖突
解決辦法:客戶端和服務(wù)器端時間不同步,SSL 連接需要依賴主機上的時間是否正確。
更改本機時區(qū)設(shè)置:
vi /etc/sysconfig/clock
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
,執(zhí)行更新時間的命令:/sbin/ntpdate asia.pool.ntp.org
解決辦法:本地證書失效, 刪除客戶端證書并重新連接服務(wù)端:rm -rf /var/lib/puppet/ssl/
解決辦法:設(shè)置主機名:vim /etc/sysconfig/network
5. 連接master 的時候出現(xiàn)如下報錯:

解決辦法:關(guān)閉防火墻:/etc/init.d/iptables stop
6. 連接master 的時候出現(xiàn)如下報錯:

服務(wù)端hostname 有誤,解決辦法:檢查server 端的hostname!