您好,登錄后才能下訂單哦!
環境:
操作系統:RedHat 5.3 64bit
Puppet版本:2.7.9
Facter版本:1.6.8
1、Puppet及Facter下載地址
Puppet:https://downloads.puppetlabs.com/facter/
Facter: https://downloads.puppetlabs.com/puppet/
2、Puppet Server安裝
首先在安裝Puppet之前,需要安裝ruby,我們這里就直接使用yum安裝,具體下:
# yum install -y ruby ruby-libs ruby-shadow
①、Facter安裝
# tar xzvf facter-1.6.8.tgz # cd facter-1.6.8 # ruby install.rb
②、Puppet安裝
# tar xzvf puppet-2.7.9.tgz # cd puppet-2.7.9 # ruby install.rb
如上Puppet Server端的安裝就已經完成了,那么接下來就是一些配置文檔及啟動腳本的設置了。
配置文件
安裝完成之后,我們需要copy安裝包里面的一些配置文件到Puppet配置目錄/etc/puppet,具體如下:
# cp conf/redhat/fileserver.conf /etc/puppet/ # cp conf/redhat/puppet.conf /etc/puppet/puppet.conf.default
fileserver.conf → Puppet文件系統配置
puppet.conf → Puppet的默認配置文檔,可以參考下。不過這個也可以不復制,后面會命令生成
注意:根據操心系統不同復制的配置文件的目錄也會不一樣,如上我們操作系統為redhat,目錄為conf/redhat,如果操作系統是suse,那么目錄就為conf/suse。
啟動腳本
# cp conf/redhat/server.init /etc/init.d/puppetmaster # chmod +x /etc/init.d/puppetmaster
注意:默認情況下puppet的配置文檔/etc/puppet/puppet.conf設置pid的存儲路徑為/var/lib/puppet/run,而啟動腳本的路徑為/var/run/puppet,這里兩者需要統一。
創建Puppet用戶及相應目錄
# puppet master --mkusers # ll /var/lib/puppet/ total 48 drwxr-x--- 2 puppet puppet 4096 Nov 1 17:34 bucket drwxr-x--- 2 puppet puppet 4096 Nov 7 14:11 clientbucket drwxr-x--- 2 puppet puppet 4096 Nov 7 14:11 client_data drwxr-x--- 2 puppet puppet 4096 Nov 7 14:11 client_yaml drwxr-xr-x 2 puppet puppet 4096 Nov 1 17:34 lib drwxr-x--- 2 puppet puppet 4096 Nov 8 14:06 log drwxr-x--- 3 puppet puppet 4096 Nov 4 17:28 reports drwxr-x--- 2 puppet puppet 4096 Nov 1 17:34 rrd drwxrwxrwt 2 puppet puppet 4096 Nov 12 11:42 run drwxr-x--- 2 puppet puppet 4096 Nov 1 17:34 server_data drwxr-xr-t 3 puppet puppet 4096 Nov 7 14:11 state drwxr-x--- 4 puppet puppet 4096 Nov 4 16:37 yaml
創建的目錄主要是/var/lib/puppet
生成Puppet Server配置文檔
# puppetmasterd --genconfig > /etc/puppet/puppet.conf
以上就將Puppet Server端給安裝完成了,后續剩下的就是SSL認證了。
3、Puppet Agent安裝
Agent端Facter及Puppet的安裝和Server端是一樣的,區別就在于兩者之后的啟動腳本和配置文檔不一樣,相關的配置信息如下:
啟動文件
# cp -p conf/redhat/client.init /etc/init.d/puppet # chmod +x /etc/init.d/puppet
生成Puppet Agent配置文檔
# puppet agent --genconfig > /etc/puppet/puppet.conf
4、SSL認證
①、DNS設置或者host設置
Puppet SSL認證是通過域名來標記的,所有這里需要設置域名。因為這里是測試使用,本次的話就直接通過/etc/hosts來設置域名的IP指向了,如果在生產環境使用的話,建議還是使用DNS來設置。如下為Puppet Server及Agent的hosts設置:
Puppet Server
# cat /etc/hosts ··· 10.197.95.245 szmlvm29-76 szmlvm29-76.easou.com 10.197.95.234 szmlvm29-77 szmlvm29-77.easou.com puppet
Puppet Agent
# cat /etc/hosts ··· 120.197.95.234 szmlvm29-77.easou.com szmlvm29-77 120.197.95.245 szmlvm29-76.easou.com szmlvm29-76
②、Puppet Agent證書申請
# puppetd --server szmlvm29-76.easou.com --test 或者 # puppetd --server szmlvm29-76.easou.com --no-daemonize –verbose
第一個是申請證書時,不管是否成功,只執行一次。
第二個是申請證書時,一直在前端實現詳細信息,默認情況下是以daemon的形式執行的。
③、Puppet Server證書簽發
# puppetca --sign szmlvm29-77.easou.com 或者 puppet cert --sign szmlvm29-77.easou.com 簽發節點為szmlvm29-77.easou.com的證書 # puppetca --sign --all 或者 puppet cert --sign --all 簽發所有節點的證書
其他Puppet Server和證書相關的命令有如下一些:
# puppet cert --list或者puppetca --list 查看申請證書請求 # puppet cert -revoke puppet或者puppetca -revoke puppet 設置節點證書過期 # puppet cert --clean puppet或者puppetca --clean puppet 刪除節點證書
5、Puppet Server與Agent聯通測試
①、配置site.pp
site.pp這個文件是在/etc/puppet/manifests目錄下,Puppet Server所有對Agent的操作都是從這個配置文件入口的。這里為了測試就簡單的對這個文件進行配置,對Agent創建一個用戶,具體信息如下:
$ cat site.pp node default { user { "test1" : ensure=>present,comment=>"測試",name=>test,shell=>"/bin/bash",home=>"/home/text",managehome=>true,password=>sha1('12345');} }
如上,對所有Agent創建一個用戶名為test用戶,使用shell為/bin/bash,加目錄為/home/test,密碼為12345。
②、Agent執行
# /usr/sbin/puppetd --server szmlvm29-76.easou.com --test info: Caching catalog for szmlvm29-77.easou.com info: Applying configuration version '1384248986' notice: /Stage[main]//Node[default]/User[test1]/ensure: created notice: Finished catalog run in 0.16 seconds
# cat /etc/passwd ··· test:x:505:506:測試:/home/text:/bin/bash # ll /home/ ··· drwx------ 3 test test 4096 Nov 18 14:41 text # cat /etc/shadow test:8cb2237d0679ca88db6464eac60da96345513964:16027:0:99999:7:::
如上Puppet Agent執行結果為執行成功。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。