安裝配置:
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