一:Puppet是一個自動化配置管理工具,最常用在C/S架構中。
puppet的語法允許你創建一個單獨腳本,用來在目標主機上建立一個用戶,所有目標主機會依次使用適合本地系統的語法來解釋和執行這個模塊。如果是在RedHat中執行,則使用的是useradd命令;若在FreeBSD中,則使用adduser命令。再者puppet有很好的靈活性。
二:安裝准備:
兩台CentOS 5.5 32位機器
主機IP及主機名
172.16.100.10 server.tech10.com
172.16.100.11 slave.tech11.com
facter:http://puppetlabs.com/downloads/facter/facter-1.5.9.tar.g
puppet: http://puppetlabs.com/downloads/puppet/puppet-2.6.3.tar.gz
三:安裝步驟
1:rpm -Uvh http://dl.Fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri
查看下ruby的版本,版本是1.8.5
安裝facter及puppet
tar zxvf facter-1.5.9
cd facter-1.5.9
ruby install.rb
tar zxvf puppet-2.6.3.tar.gz
cd puppet-2.6.3
ruby install.rb
以上步驟均在兩台機器上執行
2:server端配置
a.拷貝源文件
mkdir /etc/puppet
cp conf/auth.conf /etc/puppet
cp conf/redhat/fileserver.conf /etc/puppet
cp conf/redhat/puppet.conf /etc/puppet
cp conf/redhat/server.init /etc/init.d/puppetmaster
chmod +x /etc/init.d/puppetmaster
chkconfig puppetmaster on
mkdir -p /etc/puppet/manifests
b.創建puppet帳號
groupadd puppet
useradd -g puppet puppet
puppetmasterd --mkusers
c.建立相應的目錄
mkdir /var/lib/puppet /rrd
chown puppet.puppet /var/lib/puppet/rrd
d.啟動服務
/etc/init.d/puppetmaster restart
第一次啟動時會創建所需文件,包括證書文件等
3:slave端配置
a.復制文件
mkdir /etc/puppet
cp conf/auth.conf /etc/puppet
cp conf/namespaceauth.conf /etc/puppet
cp conf/redhat/puppet.conf /etc/puppet
cp conf/redhat/client.init /etc/init.d/puppet
chmod +x /etc/init.d/puppet
chkconfig --add puppet
chkconfig puppet on
b.創建puppet帳號
groupadd puppet
useradd -g puppet puppet
puppetd --mkusers
c.建立puppet目錄
mkdir -p /var/lib/puppet/rrd
chown puppet.puppet /var/lib/puppet/rrd
d.啟動服務
/etc/init.d/puppet restart
e.向server端發送請求命令
puppetd --test --server server.tech10.com
我到這一步時,總是提示err: Could not retrieve catalog from remote server: certificate verify failed,後來在谷歌上找到解決方法。刪除客戶端/var/lib/puppet/ssl目錄下的文件,再次執行正常
f.server端用如下命令接受請求
puppetca -s -a
g.slave端再次發認證請求
puppetd -test -server server.tech10.com