天天看點

puppet的安裝

安裝配置:

1. Puppet在RedHat/CentOS系 統上安裝

Puppet是基于Ruby寫成的,是以安裝前要準備好Ruby環境。在中心的Server上安裝puppet-server包,并運作 puppetmasterd程序;在被管理機上安裝puppet包,并運作puppetd程序。另外,在每台主機上配置好自己的hostname,之後每 台機器要以hostname區分。

1). 安裝ruby環境:

yum install ruby ruby-rdoc

2). 安裝puppet

Server端安裝:

rpm -Uvh epel-release-5-4.noarch.rpm

yum install puppet-server

chkconfig --level 2345 puppetmaster on

修改hosts,添加下面行:

Vi /etc/hosts

192.168.189.134  puppet

192.168.189.133  web1

用戶端安裝:

yum install puppet

chkconfig --level 2345 puppet on

192.168.189.134   puppet

192.168.189.133   web1

3). 啟動puppet

Server端首次運作前,編輯/etc/puppet/manifests/site.pp檔案,内容可以用最基本的:

# Create “/tmp/testfile” if it doesn’t exist.

class test_class {

file { “/tmp/testfile”:

ensure => present,

mode => 644,

owner => root,

group => root

}

# tell puppet on which client to run the class

node web1 {

include test_class

啟動Server端:

service puppetmaster start

啟動用戶端:

/etc/init.d/puppet start

最好重新開機下伺服器 

init 6

puppet的用戶端和伺服器是通過ssl連結的,在伺服器有一個自簽名的根證書,在安

裝軟體的時候自動生成。注意:要在安裝軟體以前先設定主機名,因為生成證書的時候

要把主機名寫入證書,如果證書生成好了再改主機名,就連不上,這是很多初學者遇到

的問題。每個用戶端的證書要經過根證書簽名才能和伺服器連接配接。是以首先要在用戶端

執行下面的指令來請求伺服器簽名證書。

puppetd --test --server puppet

産生的資訊:

info: Caching catalog for web1.localdomain

info: Applying configuration version '1297250911'

notice: Finished catalog run in 0.04 seconds

執行上面的指令,用戶端将生成證書,并且把證書簽名請求發到伺服器端。登入到服務

器端,執行下面的指令檢視是否有用戶端的證書請求:

puppetca --list

如果看到了用戶端的證書請求,用下面的指令對所有證書請求簽名:

puppetca -s -a

防火牆和端口設定。puppet伺服器端預設使用8140端口監聽服務,需要在iptables上開啟該端口。                                                 

     iptables  -A INPUT  -p tcp --dport 8140 -j ACCEPT                                                

     請在/etc/sysconfig/iptables 中加入上文的規則,并重新開機iptables。 

4). 測試:

也可以将日志直接列印到終端上進行測試:

Server端:puppetmasterd -d --no-daemonize -v --trace

用戶端:puppetd --test --trace --debug

本文轉自 holy2009 51CTO部落格,原文連結:http://blog.51cto.com/holy2010/489728