puppet安裝與使用--安裝

               puppet安裝與使用--安裝

網上參考,推薦一個不錯的puppet文章站點http://www.mysqlops.com/category/puppet,百度搜puppet大部分好的文章還是出自這裏,下面根據我的操作,記錄下安裝步驟和遇到的問題

Puppet 工作流程

1.Puppet 客戶端請求節點配置    Puppet master進行SSL認證

2.將信息日誌寫入cactlog

3.Puppet 解析器解釋代碼 (包括錯誤檢查以及語法檢查),並寫入日誌。

4.事務處理(例如是否有權限,是否要同步文件,是否有collection資源)

5.客戶端發送日誌

6.Ssl認證授權結束,整個流程結束。

Puppet 安裝
我的安裝環境操作系統                         cenos5.2 32

server                             puppet1    192.168.140.78

clinet                              puppet2    192.168.140.79

clinet                              puppet3    192.168.140.80

安裝前要注意:

     由於SSL證書依賴時間同步。請注意服務端與客戶端保持一致。推薦使用ntp 同步時間。

   由於基於主機名,推薦使用FQDN,標準格式。認證過後請不要隨便修改主機名。(我的主機名以上面puppet123爲例)

安裝步驟(使用yum安裝比較方便)
1).配置源/etc/yum.repos.d/下  puppetlabs.repo,如下:
  [puppetlabs-products]
  name=Puppet Labs Products $releasever - $basearch
  baseurl=http://yum.puppetlabs.com/el/$releasever/products/$basearch
  gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  enabled=1
  gpgcheck=1

  [puppetlabs-deps]
  name=Puppet Labs Dependencies $releasever - $basearch
  baseurl=http://yum.puppetlabs.com/el/$releasever/dependencies/$basearch
  gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  enabled=1
  gpgcheck=1

  [puppetlabs-products-source]
  name=Puppet Labs Products $releasever - $basearch - Source
  baseurl=http://yum.puppetlabs.com/el/$releasever/products/SRPMS
  gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  failovermethod=priority
  enabled=0
  gpgcheck=1

  [puppetlabs-deps-source]
  name=Puppet Labs Source Dependencies $releasever - $basearch - Source
  baseurl=http://yum.puppetlabs.com/el/$releasever/dependencies/SRPMS
  gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  enabled=0
  pgcheck=1 
2).yum install ruby ruby-libs ruby-shadow Puppet 是用ruby語言寫的,所以要安裝ruby環境,服務器端與客戶端都要安裝) 

 yum -y install puppet puppet-server facter(安裝puppetmaster Puppet 客戶端, 只需要使用yum –y install puppet 即可.

注意:

 客戶端和服務器端版本要一致。如果版本不一致的話,那麼高版本的只能是puppet server,另一臺只能爲puppet客戶端,也就是說puppet 服務端的版本可以 大於或者等於客戶端版本,不可以小與,因爲有些同學有些是yum安裝的

 

測試安裝

1). puppet安裝完成後,主機名使用fqdn,dns解析最好,如沒有,可以使用hosts,我用hosts解析,如下圖。


  
每臺機子修改相對應hostname 
source /etc/sysconfig/network
使用ntpdate 使每臺機子時間同步 

2).啓動puppetmaster,檢查防火牆確保8140端口開放,在客戶端運行命令測試:
 /etc/init.d/puppetmaster start   #(puppetmaster/puppet1上運行)
 puppetd --test --server puppet1 (#客戶端puppet2/puppet3上運行)

會有如下提示:
warning: peer certificate won't be verified in this SSL sessionExiting; no certificate found and waitforcert is disabled
不用擔心,這是因爲第一次運行,服務端沒有給客戶端簽名.

3).puppetmaster(puppet1)執行
 puppetca --list 查看有沒有來驗證簽名的客戶端
 puppetca -s puppet2 給客戶端puppet2簽名驗證
 puppetca -s -a   給所有來服務端請求驗證的客戶端簽名

4).在服務端查看驗證簽名,注意前面的+號,說明已經簽名 

小結(列出一些別的命令)
使用yum的安裝與配置比較方便,但puppet有很多的資源模塊需要進一步研究,下面列出幾個服務端和客戶端常用命令
   1).puppetrun 用於連接客戶端,強制運行本地配置文件,在默認安裝puppetpuppetrun是不能使用,需要配置,如下:
     客戶端
      /etc/puppet/puppet.conf 下添加
      [puppetd]
      listen = true 

      /etc/puppet/auth.conf path /  auth any字樣上面添加

       path /run
    method save
       allow * 

    /etc/puppet/namespaceauth.conf

       [puppetrunner]
       allow *

     
    在服務端執行 puppetrun  puppet3(客戶端名,需客戶端服務puppet啓動) 返回狀態    code 0,說明puppetrun配置成功


       
   2).客戶端啓動方式

      一般採用/etc/init.d/puppet start 這樣啓動 這樣默認客戶端30分鐘會向服務端發請求,拉取配置文件,30分可以修改 /etc/puppet/puppet.confpuppetd下 runinterval參數值 單位爲秒

      如採用--no-client參數啓動,及永不會向服務端主動請求,命令如下:
      puppetd --no-client  --verbose --server puppet1 --no-daemonize --listen
      還可以加--debug 進入調試
         
   3).服務端命令

       puppetmasterd --genconfig > /etc/puppet/puppet.conf.default   可以生成默認配置文件

       puppetmasterd -d -v --no-daemonize          調試啓動模式
         
    4).查看所有配置選項
       puppet –configprint --all

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章