天天看點

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,标準格式。認證過後請不要随便修改主機名。(我的主機名以上面puppet1、2、3為例)

安裝步驟(使用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

  [puppetlabs-products-source]

  name=puppet labs products $releasever - $basearch - source

  baseurl=http://yum.puppetlabs.com/el/$releasever/products/srpms

  failovermethod=priority

  enabled=0

  [puppetlabs-deps-source]

  name=puppet labs source dependencies $releasever - $basearch - source

  baseurl=http://yum.puppetlabs.com/el/$releasever/dependencies/srpms

  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安裝的

puppet安裝與使用--安裝

測試安裝

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

puppet安裝與使用--安裝

每台機子修改相對應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).在服務端檢視驗證簽名,注意前面的+号,說明已經簽名 

puppet安裝與使用--安裝

小結(列出一些别的指令)

使用yum的安裝與配置比較友善,但puppet有很多的資源子產品需要進一步研究,下面列出幾個服務端和用戶端常用指令

   1).puppetrun 用于連接配接用戶端,強制運作本地配置檔案,在預設安裝puppet後puppetrun是不能使用,需要配置,如下:

     用戶端

      /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配置成功

puppet安裝與使用--安裝

   2).用戶端啟動方式

      一般采用/etc/init.d/puppet start 這樣啟動 這樣預設用戶端30分鐘會向服務端發請求,拉取配置檔案,30分可以修改 /etc/puppet/puppet.conf中puppetd下 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

繼續閱讀