centos6.5 + puppet


1、puppet簡介node

 Puppet是一個客戶端/服務器(C/S)架構的配置管理工具,在中央服務器上安裝puppet-serverpuppetmaster),在須要被管理的目標機器上安裝puppet客戶端軟件(puppet client)。當客戶端鏈接上服務器後,定義在服務器上的配置文件會被編譯,而後在客戶端上運行。客戶端每隔半小時主動會和服務器通訊一次,確認配置信息的更新狀況,若是有新的配置信息(或配置信息有變化),配置文件將會被從新編譯並分發到客戶端執行。固然,也能夠在服務器上主動觸發更新指令來強制各客戶端進行配置更新。centos

2、安裝環境

   CentOS6.5_x86_64服務器

  如下安裝採用兩臺服務器,一臺是master.cjy.com用來安裝puppet-server服務;一臺是client.cjy.com用來安裝puppet客戶端。架構

   Puppet要求全部機器有完整的域名(FQDN),若是沒有DNS服務器提供域名的話,能夠在兩臺機器上設置主機名(注意要先設置主機名再安裝puppet,由於安裝puppet時會把主機名寫入證書,客戶端和服務端通訊須要這個證書):ide

master工具

# cat /etc/sysconfig/network測試

NETWORKING=yesspa

HOSTNAME=master.cjy.comdebug

 

# cat /etc/hostsrest

192.168.1.131 master.cjy.com

192.168.1.132 client.cjy.com

 

  client

  # cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=client.cjy.com

 

# cat /etc/hosts

192.168.1.131 master.cjy.com

192.168.1.132 client.cjy.com

 

爲避免沒必要要的麻煩關閉防火牆(服務端客戶端都要作)

       #service iptables stop

       #setenforce 0

 

   Puppet要求全部機器上的時鐘保持同步,因此須要安裝和啓用ntp服務(若是系統是最小化安裝的,須要額外安裝這個軟件包)

       #yum install –y ntpdate

       #chkconfig ntpdate on

       #ntpdate pool.ntp.org

3、安裝配置

       master上安裝puppet服務

       #yum install –y puppet-server

       #chkconfig puppetmaster on

       #service puppetmaster start

       Puppetmaster運行在TCP8140端口,能夠用netstat查看:

       #netstat -lnutp

 

       client上安裝puppet客戶端

       #yum install –y puppet

 

       Puppet客戶端使用HTTPS和服務端通訊,爲了和服務端通訊必須有合法的SSL認證,第一次運行puppet客戶端的時候會生成一個SSL證書並指定發給puppet服務端。

       #puppet agent --no-daemonize --onetime --verbose --debug --server=master.cjy.com

       參數說明:

       --no-daemonize前臺輸出日誌

       --verbose輸入更加詳細的日誌

       --debug更加詳細的日誌,排錯的時候用

       --test表示測試,就帶一個--test參數就能夠

 

       Puppet服務端(maser)接收到客戶端(client)請求後必須簽字(sign)才能容許客戶端接入,sign後用puppet certlist --all查看會發現client.cjy.com前面多了一個+ 後,表示加入成功

       #puppet cert list --all

       #puppet cert --sign client.cjy.com /all(對某個或全部請求籤名)

       #puppet cert list --all

       這樣客戶端和服務端就配置好了,雙方能夠通訊了。

      

讓證書失效,revoke,僅僅是讓證書失效

# puppet certrevoke client.cjy.com

重啓puppetmaster服務,才能正式生效。

 

刪除證書,clean,在master上清除證書後重啓服務才能生效

# puppet cert --cleanclient.cjy.com

#/etc/init.d/puppetmaster restart

client

# rm –f /var/lib/puppet/ssl/certs/client.cjy.com.pem

或者整個目錄刪除,這樣ca的證書也刪除。

# rm –rf /var/lib/puppet/ssl

這個時候,再申請就能夠了。

4、測試

       如今能夠在服務端寫個小例子來測試一下。這個例子做用很簡單,用來在客戶端的/tmp目錄下新建一個helloworld.txt文件,內容爲hello, world! 在服務端寫代碼:

       #vi /etc/puppet/manifests/site.pp

       nodedefault {

       file {

       」/tmp/helloworld.txt」:content => 」hello, world!」;

}

}

       在客戶端上執行puppet,運行成功後會在/tmp下看到新生成的helloword.txt文件。

       #puppet agent --test --server=master.cjy.com

       # cat /tmp/helloworld.txt

       hello, world!

5、經常使用命令

       查看puppet版本

     # puppet --version

 

       查看模塊位置

       #puppet config print modulepath

 

       查看報告

       #puppet agent –t --summarize

 

參考文檔:

http://www.vpsee.com/2012/03/install-puppet-on-centos-6-2/ puppet安裝配置及一些操做

 

http://www.chenshake.com/puppet-study-notes/ puppet安裝配置

 

http://www.vpsee.com/2012/05/using-puppet-modules-from-example42/ example42puppet模塊

相關文章
相關標籤/搜索