版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
系統(tǒng)環(huán)境:
服務(wù)器JCS系統(tǒng)IP地址「備注
nfstest*3centos5,5X64?,2^Puppetdien"
test5nspcentos5.5X64*,4-'PuppetServe”
軟件包:
軟件包外,下戴地址。備注/
facter^http://downloads.pu/facter/facter-1.6.5.tar.gz*J
Puppet"http;//downl0ad5?puppetlabs,com/puppet/puppet-2,6?13,tdr,gz.'
環(huán)境安裝:
Puppel是用ruby語言寫的,所以要安裝ruby環(huán)境,服務(wù)器端與客戶端都要安裝,我這的環(huán)
境沒有裝ruby,所以用yuin安裝一下。要精細(xì)化安裝的話,需要安裝4個包。
(root@testsns~]#yumyinstallruby*
精細(xì)化安裝Ruby環(huán)境
I.puppet是基于ruby開辟。所以要安裝ruby語言環(huán)境。
找到相應(yīng)版本對應(yīng)的ruby的rpm包(下以redhai5.4為例)
rpmivhruby-libs-1.8.5-5.el5_2.3.i386.rpm
rpmivhruby-1.8.5-5.el5_2.3.i386.rpm
2.Rdoc的安裝。
如果需要查看匡助文檔,需要安裝此包。有一點特殊說明,此包在AS4上未找到相關(guān)的rpm,
所以建議服務(wù)端使用5.()以上的版本。
rpniivhruby-irb-1.8.5-5.cl5_2.3.i386.rpm
rpmivhruby-rdoc-1.8.5-5.el5_2.3.i386.rpm
Server端安裝:
1、時間同步
ntpdate
2^安裝Facler用來獲取‘客戶端系統(tǒng)信息(如hostname,ip,OS-Version,fqdn等)
[root@testsnsopt]#tarzxvffacter-1.6.5.tar.gz
[root@testsnsopt]#cdfacter-1.6.5
[root@teslsnsfacter-1.6.5]#rubyinstall.rb
[root@lestsnsfacter-1.6.5J#cd..
[root@tcstsnsopt]#tarzxvfpuppet-2.6.13.tar.gz
|root@tcstsnsopt]#cdpiippet-2.6.13
froot@testsnspuppet-2.6.131#rubyinstall.rb
[root@testsnspuppet-2.6.131#cpconf/auth.conf/etc/puppet/
[root@testsnspuppet-2.6.13]#cpconfVredhat/fileserver.conf/etc/puppet/
[root@testsnspuppet-2.6.13]#cpconf/redhat/puppet.conf/etc/puppet/
[root@testsnspuppet-2.6.13]#cpcontVredhat/server.init/elc/init.d/puppelmaster
[root@testsnspuppet-2.6.13]#chmod+x/etc/init.d/puppetinaster
[root@testsnspuppet-2.6.13]#chkconfig-addpuppetmaster
[root@testsnspuppet-2.6.13]#chkconfigpuppetmasteron
[root@teslsns
puppet-2.6.13]#mkdir-p/etc/puppet/manifests
3^生成pupput用戶
lroot@testsnsopt]#puppct:nastcrd-inkusers
4、啟動
[root@testsnsopt]#/etc/init.d/puppetmasterstart
Slave端安裝:
1、時間同步
ntpdate
和服務(wù)器端安裝方法一樣,先安裝ruby環(huán)境,再安裝facter和puppet,只是在
puppet拷貝配置文件時要注意。
2、安裝Facter用來獲取客戶端系統(tǒng)信息(如hostname,ip,OS-Vcrsion,fqdn等)
[root@te5t5n$opt]#tarzxvffacter-1.6.S.tar.gZ4j
(root@testsnsopt]?gdfacter-1.6.5*
[root@testsn5facter-1.6.5]ffRjb^install.rb*,
[rcx>t^testsnsfacter-1.6.5]#cd
[root@testsnsopt]?tarzxvfpuppet-2.6.13.tar.gz*
[root@testsnsopt)#cdpuppet-2.6.13*1
[root^Jnfstestpuppet-2.6.13)?ry^lnstall.rb4
(root@nfstestpuppet?2613樨里conf/auth.coM/etc/puppet/**
[root@nfstestpuppet-2.6.13)ffcficcxTf/namespaceauth.conf/etc/puppet/*J
[root@nfstestpuppet-2.6.13)#egconf/redhat/puppet.conf/etc/puppet/**
[root@nfstestpuppet-2.6.13]ffcpconf/redhat/dient.init/etc/init.d/puppet*
[root@nfstestpuppet-2.6.13]ffghrnodtx/etc/init,d/puppeb1
[root^nfstestpuppet2.€.13]lfvi/etc/pvppct/puppet.conf*
…內(nèi)容如下
lagcntj
Listen=true
Server=testsns
好,不用修改每臺服務(wù)器的hosis文件。
2nfstest
4testsns
6、開放端口
關(guān)閉雙方的防火墻及selinux,或者力,放8140(server服務(wù)器端口),8139(client服務(wù)器端口)。
相互作pinghostnametelnethostname8140testhostname8139等,看網(wǎng)絡(luò)及hosts是否正常
認(rèn)證:
客戶端發(fā)送請求
Puppeted—testservertestsns
服務(wù)器查看
Puppetcalist
服務(wù)器端簽名
Puppetcas對所有客戶端全部簽名
Puppetcasnfstesl〃只簽名某個客戶端
功能模塊介紹及實例操作
文件分發(fā):
通過puppet可以向被管理機上推送文件,方法是使用file類型的source屬性I:修
改/elc/p叫)pet、fileserver.conf
2:修改/ctc/puppct/manifests/sitc.pp
實例:要把sener服務(wù)器上/opt目錄下的mysql-5.1.49-linux-i686-icc-glibc23.tar.gz傳輸至client
服務(wù)器的/opt目錄下,文件名不變。
第一步:Vi/etc/puppel/fileserver.conf
[files]
path/opt/
allow/24
第二步:vi/elc/puppet/manilests/site.ppfile
source=>
第三步:在client客戶端執(zhí)行更新命令
puppctd-test-servertestsns止二處“$puppctscrvcr”是puppetServer
端的名稱,即hostname,網(wǎng)上教程都是在hosts里指定,生產(chǎn)環(huán)境下用內(nèi)部的DNS上作解析,
像我公司一個www平臺就有70臺linux服務(wù)器,一個個添加hosls,不搞死人去.
修改文件屬性:
實例:把/lmp/dd142/puppel-2613.iar.gz文件的權(quán)限改為puppet用戶,并設(shè)置權(quán)限為
666o
第一步:編輯Server端的site.pp
vi/etc/puppet/manifests/site.pp
…內(nèi)容如下
file
mode=>666,
)
第二步:在client端執(zhí)行命令
puppetd—test—servertestsns
執(zhí)行SHELL命令或者shell和本:
實例:通過p叩pet分發(fā)執(zhí)行shell腳本,在客戶端的。pt目錄下新建一目錄shelkiir。第一步:
編輯Server端的site.pp
vi/ctc/puppct/manifcsts/sitc.pp
在此只講Puppet,因為它簡單,強大,流行。
什么是puppet?
puppet是一種Linux、Unix平臺的集中配置管理系統(tǒng),使用自有的puppei描述語言,可管理
配置文件、用戶、ciw任務(wù)、軟件包、系統(tǒng)服務(wù)等。puppet把這些系統(tǒng)實體稱之為資源,puppet
的設(shè)計目標(biāo)是簡化對這些資源的管理以及妥善處理資源間的依賴關(guān)系。
puppei采用C/S星狀的結(jié)構(gòu),所有的客戶端和一個或者幾個服務(wù)器交互。每一個客戶端周期
的(默認(rèn)半個小時)向服務(wù)器發(fā)送請求,獲得其最新的配置信息,保證和該配置信息同步。
每個puppet客戶端每半小時(可以設(shè)置)連接一次服務(wù)器端,下載最新的配置文件,并且嚴(yán)格
按照配置文件來配置服務(wù)器.配置完成以后,puppet客戶端可以反饋給服務(wù)器端一個消息.如
果出錯,也會給服務(wù)器端反饋一個消息.
為什么要開辟puppet
系統(tǒng)管理員都喜歡自己寫點小工具來讓自己的工作完成的更快或者更好,不管是在大企業(yè)
管理大量的服務(wù)器還是只管理兩三臺機器.但是很少人會把他們的工具發(fā)布出來.也就是是
說極少有工具能被重用,或者說不少工具就只能在所在的組織內(nèi)部實用.拷貝給別的組織,他
們也用不上.也就是說,每一個系統(tǒng)管理員,在一個新的公司,都會另起爐灶開辟一套基于
ssh,for循環(huán)的系統(tǒng)來匡助自己完成系統(tǒng)管理任務(wù).
開辟puppet是為了讓系統(tǒng)管理員可以相互交流和共享成熟的工具,避免重復(fù)的勞動.通過以下
兩個特性來實現(xiàn)這一目標(biāo):
提供一個簡潔的但是強大的框架來完成系統(tǒng)管理任務(wù)
系統(tǒng)管理任務(wù)可以描述成puppet語言,因此可以相互分享代碼,就像分享其他語言的代碼一
樣,比如python,c等
因此,作為系統(tǒng)管理員的你可以更快的完成工作,因為你可以用puppet來處理所有的管理細(xì)節(jié)
甚至你還可以下載其他管理員的puppet代碼來讓你的工作完成的更快.
使用puppet的穩(wěn)定性
puppet與其他手工操作工具有一個最大的區(qū)別就是puppet的配置具有穩(wěn)定性,因此你可以多
次執(zhí)行puppet,一旦你更新了你的配置文件,p叩pet就會根據(jù)配置文件來更改你的機器配置,
通常每30分鐘檢杳一次.puppet會讓你的系統(tǒng)狀態(tài)同配置文件所要求的狀態(tài)保持一致.比如
你配置文件里面要求ssh服務(wù)必須開啟.假如不小心ssh服務(wù)被關(guān)閉了,那末下一次執(zhí)行
puppet的時候,puppet會發(fā)現(xiàn)這個異常,然后會開啟ssh服務(wù).以使系統(tǒng)狀態(tài)和配置文件保持一
致.p叩pet就象一個魔術(shù)師、會讓你的混亂的系統(tǒng)收斂到puppet配置文件所想要的狀態(tài).
可以使用puppet管理服務(wù)器的整個生命周期,從初始化到退役.不同于傳統(tǒng)的例如sun的
Jumpstart或者redhat的Kickstart,puppet可以長年讓服務(wù)器保持最新狀態(tài).只要一開始就正確的
配置他們,然后再也不用去管他們.通常puppet用戶只需要給機器安裝好puppet并讓他們運行,
然后剩余的工作都由puppet來完成.
puppet的細(xì)節(jié)和原理
puppei的目的是讓你只集中于你要管理的目標(biāo),而忽略實現(xiàn)的細(xì)節(jié),例如命令名,參數(shù)或名文
件格式.puppet把系統(tǒng)里面的用戶,軟件包,服務(wù)看做是資源puppet的作用就是管理這些資
源以及資源之間的相互聯(lián)系.
底層支撐工具Providers,puppet有不少的資源類型,例如文件,用戶,軟件包,服務(wù),不同
的操作系統(tǒng)上對資源的管理命令是不一樣的,例如debian下面用叩l-get安裝軟件jedhat下面
用yum安裝軟件.因此puppet對同一資源的管理可以有多個實現(xiàn),配置資源的時候,可以明確
的指定用什么provider.例如在redhat上配置一個package資源的時候,可以指定provider是yum
Factcr變量
在puppet客戶端分析代碼的時候,會把從factcr傳送過來的對應(yīng)的值賦值給變量.你可以單獨
手工執(zhí)行facter這個命令,這個命令會打印出它所采集到的關(guān)于主機的信息,例如ip地址等等.
factor把采集到值發(fā)送給puppet服務(wù)器端,服務(wù)器端就可以根據(jù)不同的條件來對不同的節(jié)點
機器生成不同的puppet配置文件.最重要的一個就是服務(wù)器的主機名.
工作方式與流程
puppet既可以在單機上使用,也可以以c/s結(jié)構(gòu)使用.在大規(guī)模使用puppet的情況下,通常使用
C/S結(jié)構(gòu).在這種結(jié)構(gòu)中puppet客戶端只是指運行puppet的服務(wù)器,puppel服務(wù)器端是只運行
puppetmaster的服務(wù)器.
puppet客戶端首先會連接到puppet服務(wù)器端,并且通過factcr工具把客戶端的基本配置信息發(fā)
送給服務(wù)器端.服務(wù)器端追過分析客戶端的主機名,通過node定義,找到該主機的配置代碼,
然后編譯配置代碼,把編譯好的配置代碼發(fā)回客戶端,客戶端執(zhí)行代碼完成配置.并且把代碼
執(zhí)行情況反饋給puppet服務(wù)器端.
修改系統(tǒng)配置
puppet通過管理資源的方式來管理系統(tǒng),例如管理某個軟件是否要安裝,是安裝最新的還是
安裝了就行.管理某個服務(wù)是否開啟,管理某個文件的屬生內(nèi)容等等.所有的資源都有
對應(yīng)的幾個屬性可以設(shè)置.通過設(shè)置屬性的方式來管理貨源.有i種特殊的屬性可以用在
所有的資源上面,這種屬性叫做metaparams(元參數(shù)或者元屬性).
資源之間的關(guān)系
支持資源之間的關(guān)系配置是puppet的關(guān)鍵特性之一.一個資源的變更可以對另一個資源產(chǎn)生
一個動作.例如/elc/apache.conf這個資源有改動,可以讓/elc/inii.d/叩ache這個資源reload一下.
假如一個資源依賴另一個資源,那末puppet會優(yōu)先配置被依賴的資源網(wǎng)此如果你的配置文件
沒有準(zhǔn)備好,對應(yīng)的服務(wù)是不會先啟動的.
puppet語言資源
puppet的全部就是管理資源,因此puppet語言的焦點就是處理這些資源,下面是一個基本的管
理單個資源的例子.
上面的列子給出了定義一個資源所需要的所有組件,類型,名字和屬性.定義了一個file
資源,資源的liUe(標(biāo)題)是資源的屬性里面設(shè)置了該文件屬于那個用戶
和組,以及文件的權(quán)限.
也可以在一個大括號里面定義多個資源,通過分號來區(qū)分.
避免重復(fù)配置
puppet的編譯器會避免在不同的代碼段里面管理同一個資源,如果在不同的代碼段對同一個
資源進(jìn)行配置,執(zhí)行puppet的時候你會得到一個語法錯誤.puppel探測這種沖突的情況是
通過判斷資源類型和資源的title(標(biāo)題);如果兩個資源有相同的資源類型和title;那末就認(rèn)為
這兩個資源是表示同一個資源.
類
你可以把多個相關(guān)的資源定義在一起,組成一個類.可以在其他的代碼段include這個
類.puppet還支持有限制的類的繼承,作用就是在子類里面的屬性可以覆蓋父類里面的屬性.字
符串
幾乎所有的東西和符號在puppet里面都被看做是字符串,包括數(shù)字和布爾值.但是如果你
用引號把tine和false引起來,他們會被當(dāng)做字符串,例如你想賦值給某個資性的字
符串.
變量
puppet除facter變量外,也可以自定義變量,但不允許你在同一個類里面對一個變量進(jìn)行兩
次賦值.
Smyvar=value123
條件語句
Puppet支持常見的條件語句,使得你能根據(jù)不同的條件導(dǎo)入不同的資源定義。如if、case、此
外puppet從版本0.24.6開始支持比較運算符。
數(shù)組
puppet甘常有限的支持?jǐn)?shù)組這種類型,你可以創(chuàng)建數(shù)組,并且給他們賦值,但是你不能刪除它
們.數(shù)組用的最多的情況就是上面ssh例子里面,資源依賴哪種情況.或者是一次管理多個相
同類型的資源.例如:user{[bin,adm]:ensure=>present
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店餐飲行業(yè)成本控制與效益分析指南(標(biāo)準(zhǔn)版)
- 消防培訓(xùn)班一日制度
- ??婆嘤?xùn)準(zhǔn)入制度
- 幼兒教室崗前培訓(xùn)制度
- 餐飲人員集中培訓(xùn)制度
- 應(yīng)急培訓(xùn)與演練管理制度
- 高效培訓(xùn)制度
- 計生藥具宣傳培訓(xùn)制度
- 高校后勤服務(wù)培訓(xùn)制度
- 家長健康培訓(xùn)制度
- 復(fù)方蒲公英注射液在銀屑病中的應(yīng)用研究
- 住培中醫(yī)病例討論-面癱
- 設(shè)備安裝施工方案范本
- 衛(wèi)生院副院長先進(jìn)事跡材料
- 復(fù)發(fā)性抑郁癥個案查房課件
- 網(wǎng)絡(luò)直播創(chuàng)業(yè)計劃書
- 人類學(xué)概論(第四版)課件 第1、2章 人類學(xué)要義第一節(jié)何為人類學(xué)、人類學(xué)的理論發(fā)展過程
- 《功能性食品學(xué)》第七章-輔助改善記憶的功能性食品
- 幕墻工程竣工驗收報告2-2
- 1、工程竣工決算財務(wù)審計服務(wù)項目投標(biāo)技術(shù)方案
- 改進(jìn)維持性血液透析患者貧血狀況PDCA
評論
0/150
提交評論