天天看點

puppet 安裝詳解

一 puppet 簡介

puppet 是用ruby 開發的,開源的集中配置管理工具。puppet 是一個C/S結構。能夠幫助系統管理者對系統,進行軟體包更新,管理配置檔案,系統服務,cron 任務,以及對系統中使用者管理等等。puppet 是個典型的星型架構,clients 預設情況下是每30分鐘請求一次server端,确認是否有新的變更操作指令。在配置puppet 環境的時候,需要使用dns 如果沒有dns 的可以修改hosts 檔案,確定puppet  master和puppetclient 都能夠正确解析對方。

 puppet 工作流程如下:

1 用戶端puppetd 調用facter,facter 探測出主機的一些變量,如主機名稱,記憶體大小,ip位址等。puppetd 把這些資訊通過ssl  連接配接發送到伺服器端

2 伺服器端的puppetmaster 檢測用戶端的主機名,然後找到manifest裡面對應的node配置,并對該部分内容進行解析,facter送過來的資訊可以作為變量處理,node牽涉到的代碼才解析,其他沒有牽涉的代碼不解析。解析分為幾個階段,文法檢查,如果文法錯誤就報錯。如果文法沒有錯誤,就繼續解析,解析的結果生成一個中間的“僞代碼“,然後把僞代碼發送給用戶端;

 3 用戶端接收到僞代碼,并執行,用戶端吧執行結果發送給伺服器端;

 4 伺服器端包用戶端的執行結果寫入日志

二 所需軟體,

     ruby-2.0.0-p195.tar.gz

     facter-1.6.18.tar.gz

      puppet-3.2.1.tar.gz

三 配置安裝

1 首先删除系統自帶的ruby 因為我的OS Version 為RHEL5.0,為在後面安裝foreman 或者puppet-dashboard,故這裡更新了ruby

#yum remove  ruby-*

#tar xf ruby-2.0.0-p195.tar.gz

#cd  ruby-2.0.0-p195

#./configure –prefix=/usr/local/ruby && make && makeinstall

2 安裝facter

# tar xf  facter-1.6.18.tar.gz

#cd facter-1.6.18

#/usr/local/ruby/bin/rubyinstall.rb

3 安裝puppet

#tar xf puppet-3.2.1.tar.gz

#cd puppet-3.2.1

#/usr/local/ruby/bin/ruby install.rb

4 配置puppet

#cd ext/redhat

#cp puppet.conf fileserver.conf  /etc/puppet/

#cp logrotate /etc/logrotate.d/puppetmaster

#cp server.init /etc/init.d/puppetmaster

#chmod 700 /etc/init.d/puppetmaster

#cp server.sysconf ig /etc/sysconfig/puppetmaster

#useradd puppet

#cp ../../conf/{auth.conf,tagmail.conf} /etc/puppet/

 5 建立指令連接配接

#ln -sf /usr/local/ruby/bin/{bundle,erb,extlookup2hiera,facter,gem,irb,puppet,rake,rdoc,ri,ruby,testrb}  /usr/bin

6 puppet 配置檔案詳解

#cd /etc/puppet

#ls

auth.conf

 files  

fileserver.conf   #puppet檔案伺服器配置檔案

manifests  #puppet主檔案所在目錄

modules   #puppet 的子產品所在檔案

namespaceauth.conf  

puppet.conf  #puppet 的主配置檔案

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