Puppet是一款開源的工具,使用自有的puppet描述語言,可管理配置文件、用戶、cron任務、軟件包、系統服務等。可以被其他人利用,而忽略公司差異,實現了自動化部署。 環境: 系統:centos5.5 #rpm –Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm 2 安裝centos需要的軟件包: #yum install -y mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri 我安裝的版本是ruby1.8.5 ,不要安裝1.87以上的版本,puppet還不支持。 mysql可以使用自己編譯安裝的 3 啓動mysql: #service mysqld start #chkconfig mysqld on 4 下載最近版本的puppet,我用的是編譯安裝,所以需要先安裝facter: 注:它的作用是收集主機的一些資料,比如CPU,主機IP等,facter把收集到值發送給puppet服務器端,服務器端就可以根據不同的條件來對不同的節點機器生成不同的puppet配置文件 #wget http://puppetlabs.com/downloads/facter/facter-latest.tgz # tar zxvf facter-latest.tgz # cd facter-1.5.8 # /usr/local/bin/ruby install.rb 5 下載安裝puppet主程序 # wget http://puppetlabs.com/downloads/puppet/puppet-2.6.3.tar.gz # tar zxvf puppet-2.6.3.tar.gz # cd puppet-2.6.3 # /usr/local/bin/ruby install.rb 6 修改hosts文件 server端 127.0.0.1 localhost.localdomain localhost puppet 192.168.8.56 client.dongwm.com client端 192.168.8.200 puppet 7 Server端安裝與配置 1 拷貝源文件 #mkdir /etc/puppet 2 創建puppet帳號 #mkdir /var/lib/puppet/rrd && chown puppet.puppet /var/lib/puppet/rrd #hostname master.dongwm.com # vi /etc/sysconfig/network 修改爲:HOSTNAME=master.dongwm.com 4啓動服務 *第一次啓動時puppet會自動創建所需的文件,包括一系列證書文件等 我建議使用DEBUG模式,可以看見啓動過程: puppetmasterd -d –no-daemonize -v –trace 8 Client端配置 編譯安裝同server端 1 複製配置文件 2 創建puppet帳號 #mkdir –r /var/lib/puppet/rrd &&chown puppet.puppet /var/lib/puppet/rrd 3 修改主機名 4 啓動服務 /etc/init.d/puppet start 注:當啓動puppet時,程序會根據puppet.conf中的配置自動向服務端發起證書驗證請求。 puppet.conf的詳細完整內容可以使用“puppet –genconfig | less”(master端使用puppetmasterd –genconfig | less) 5 簽名證書 我們在server端查看等待確認的證書: #puppetca –list client.okooo.com 全部認證: #puppetca -s -a autosign = true 這樣就會自動簽證書了。
#puppetd –test –server master.dongwm.com err: Could not retrieve catalog from remote server: certificate verify failed 這是時間不同步的問題: 同步一下時間(兩端都執行): #/usr/sbin/ntpdate time.nist.gov 刪除/var/lib/puppet/ssl目錄下的文件(或者在/etc/puppet/ssl),重新請求。 OK這次出現的正確的: info: Caching certificate for client.dongwm.com info: Caching certificate_revocation_list for ca info: Caching catalog for client.dongwm.com info: Applying configuration version ’1290862961′ info: Creating state file /var/lib/puppet/state/state.yaml 安裝成功! FAQ: 安裝過程中能夠成功簽收證書需要注意的是一定要修改一下配置: 1 # hostname client.dongwm.com 2 # vi /etc/sysconfig/network 3# vi /etc/hosts |