XXXX華東運(yùn)維技術(shù)大會(huì)的資料運(yùn)維自動(dòng)化ue應(yīng)用與_第1頁
XXXX華東運(yùn)維技術(shù)大會(huì)的資料運(yùn)維自動(dòng)化ue應(yīng)用與_第2頁
XXXX華東運(yùn)維技術(shù)大會(huì)的資料運(yùn)維自動(dòng)化ue應(yīng)用與_第3頁
XXXX華東運(yùn)維技術(shù)大會(huì)的資料運(yùn)維自動(dòng)化ue應(yīng)用與_第4頁
XXXX華東運(yùn)維技術(shù)大會(huì)的資料運(yùn)維自動(dòng)化ue應(yīng)用與_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Puppet應(yīng)用與架構(gòu)

吳問志引言機(jī)器越來越多應(yīng)用越來越復(fù)雜架構(gòu)越來越復(fù)雜 審記越來越難內(nèi)容概要1.puppet介紹-什么是puppet-puppet能做什么-puppet如何做到-puppet目錄結(jié)構(gòu)介紹2.運(yùn)維自動(dòng)化工具對(duì)比-puppetvscfengine-puppetvschef3.puppet使用時(shí)注意事項(xiàng)

4.puppet應(yīng)用案例-puppet管理用戶-puppetnginx管理-puppetkick介紹-puppetMCollective介紹-puppetfunc介紹5.puppet架構(gòu)與集群-puppet架構(gòu)-puppet集群方案-puppet集群核心思想-puppet性能測(cè)試方法6.QA-puppet未來puppet介紹什么是puppet

遵循GPL協(xié)議(2.7.0),基于ruby語言開發(fā)的系統(tǒng)配置管理工具說明性語言表達(dá)系統(tǒng),用庫(kù)實(shí)現(xiàn)配置基于C/S架構(gòu),配置客戶端和服務(wù)端,也可以獨(dú)立運(yùn)行puppet對(duì)于系統(tǒng)管理員是抽象,只依賴于ruby與facter.默認(rèn)情況下,客戶端每30分鐘連接到puppetmasterpuppet能做什么

puppet能管理多達(dá)將40多種資源管理,例如:file,usergroup,host,package,service,cron,exec,yumrepo適合整個(gè)軟件生命周期管理。注:2.7.0以后使用(Apache2.0license

)

注:puppet特殊資源--虛擬資源.puppet有個(gè)特殊的Type,例如Package,User等。這個(gè)Type就是告訴puppet被管理的是什么資源。puppet的適用場(chǎng)景puppet是如何工作的puppet工作流程

注:內(nèi)部處理過程是抽象的Puppet模型參考Puppet三層模型package{"nginx":ensure=>installed,}puppet工作流程分拆Facter介紹Facter是什么facter是內(nèi)置的puppet工具,它提供的一個(gè)標(biāo)準(zhǔn)方式去獲得客戶端環(huán)境變量等相關(guān)信息Facter能獲得哪些信息

#facter-parchitecture=>x86_64id=>rootinterfaces=>eth0,loipaddress=>3ipaddress_eth0=>3。。。。。。。ikernprocessor0=>Intel(R)Xeon(R)CPUE5405@2.00GHzprouptime=>27daysuptime_days=>27uptime_hours=>651uptime_seconds=>2344200注:這些變量可以直接來使用,例如:{$::ipaddress}或者$::ipaddress當(dāng)然你也可以自定義fact,需要使用ruby來編寫。開源源社社區(qū)區(qū)版版和和企企業(yè)業(yè)版版對(duì)對(duì)比比開源社區(qū)版企業(yè)版用戶圖形接口內(nèi)置Ec2模塊 內(nèi)置Ec2模塊內(nèi)置Vmwarevms配置管理-發(fā)現(xiàn)和克隆配置管理-操作系統(tǒng)配置管理-操作系統(tǒng)配置管理-用戶賬戶管理管理應(yīng)用管理應(yīng)用內(nèi)置300+模塊內(nèi)置300+模塊統(tǒng)一跨平臺(tái)組件安裝自動(dòng)配置審記業(yè)務(wù)流程自動(dòng)化網(wǎng)絡(luò)技術(shù)社區(qū)支持網(wǎng)絡(luò)技術(shù)社區(qū)支持7*24小時(shí)技術(shù)支持puppetlabs工程師認(rèn)證支持依賴包在一個(gè)目錄下平滑升級(jí)和維護(hù)支持puppet目目錄錄結(jié)結(jié)構(gòu)構(gòu)與與模模塊塊介介紹紹puppet目目錄錄結(jié)結(jié)構(gòu)構(gòu)(右右一一)注::manifests/site.pp必必須須存存在在puppet模模塊塊結(jié)結(jié)構(gòu)構(gòu)((右右二二))注:manifests/init.pp必必須須存存存存Puppet與其其它它自自動(dòng)動(dòng)化化工工具具對(duì)對(duì)比比puppetVScfenginepuppetVSchef安裝配置簡(jiǎn)單安裝復(fù)雜需要依賴DB基于ruby開發(fā),Puppet自有高級(jí)配置語言基于c語言,語法難懂,學(xué)習(xí)維護(hù)成本高備份恢復(fù)簡(jiǎn)單備份恢復(fù)復(fù)雜用于管理各種資源重點(diǎn)用于管理文件底層負(fù)責(zé)建模模擬資源之間相互關(guān)系安裝配置簡(jiǎn)單安裝配置比較復(fù)雜基于ruby,用戶不熟悉ruby,也可以使用使用的是ruby擴(kuò)展,需要用戶熟悉ruby語言,入門難備份恢復(fù)簡(jiǎn)單維護(hù)不方便有眾多開發(fā)者和文檔文檔或者資料少有更成熟悉商業(yè)經(jīng)驗(yàn)用戶群相對(duì)少更多功能借鑒其思想,是puppet一個(gè)分支Puppet使用用注注意意事事項(xiàng)項(xiàng)1.主機(jī)機(jī)名名使使用用FQDN格式式命命名名,需要要DNS或或者者h(yuǎn)osts解解析析2.C/S兩端端時(shí)時(shí)間間要要同同步步,SSL認(rèn)證證依依賴賴于于時(shí)時(shí)間間3.ssl認(rèn)證證過過后后,,請(qǐng)請(qǐng)不不要要修修改改主主機(jī)機(jī)名名4.Usecachefaiure5.tag和和tagged6.節(jié)點(diǎn)點(diǎn)可可以以繼繼承承,,但但不不能能多多重重繼繼承承7.類可可以以繼繼承承與與覆覆蓋蓋,,子子類類可可以以向向父父類類添添加加額額外外屬屬性性值值8.puppet支持持多多環(huán)環(huán)境境部部署署((分分::開開發(fā)發(fā)、、測(cè)測(cè)試試、、線線上上))9.tidy資源源中中多多條條件件關(guān)關(guān)系系是是或或者者,,而而不不是是and10.選選擇擇正正確確的的版版本本Puppet使用用時(shí)時(shí)注注意意事事項(xiàng)項(xiàng)1.節(jié)節(jié)點(diǎn)點(diǎn)設(shè)設(shè)置置tagtag("old-slow-server")iftagged("old-slow-server"){notify{"thiswillsucceed":}}2.對(duì)對(duì)資資源源設(shè)設(shè)置置tagfile{"/etc/ssh/sshd_config":...notify=>Service["ssh"],tag=>"ssh",}#puppetagent--test--tagsssh1,類類繼繼承承示示例例classnginx::port81inheritsnginx{....}錯(cuò)誤誤示示例例classnginx::port81inheritsnginx,apache{....}子類類向向父父類類添添加加額額外外屬屬性性Service["nginx"]{require+>File[/"etc/nginx/conf.d/nginx81.conf"],}}Puppet的應(yīng)應(yīng)用用案案例例Puppet管理理用用戶戶((關(guān)關(guān)于于:管管理理用用戶戶的的幾幾點(diǎn)點(diǎn)說說明明a.puppet支支持持ldap以以及及nis集集中中認(rèn)認(rèn)證證b.puppet支支持持用用戶戶密密碼碼管管理理,,最最好好以以''(單單引引號(hào)號(hào))括括起起來來c.puppet建建用用戶戶的的默默認(rèn)認(rèn)是是不不建建家家目目錄錄的的,,需需要要使使用用managerhome=>truepuppet管理理nginxpuppetkickPuppetMCollectivePuppetfuncpuppet虛虛擬擬資資源源以@為為前前綴綴使用用虛虛擬擬資資源源需需要要配配置置storeconfig虛擬擬資資源源使使用用場(chǎng)場(chǎng)景景多個(gè)個(gè)資資源源需需要要引引用用共共同同的的某某個(gè)個(gè)資資源源實(shí)實(shí)例例,,例例如如A用用戶戶是是SA,,又又是是DBApuppetnginx應(yīng)應(yīng)用用案案例例Exec有有條條件件的的執(zhí)執(zhí)行行::creates::指指定定命命令令所所生生成成的的文文件件那那么么命命令令只只會(huì)會(huì)在在所所指指定定的的文文件件不不存存在在的的情情況況的的被被執(zhí)執(zhí)行行unless::所所設(shè)設(shè)定定的的命命令令返返回回0時(shí)時(shí)才才執(zhí)執(zhí)行行onlyif::只只會(huì)會(huì)在在onlyif設(shè)設(shè)定定的的命命令令返返回回0時(shí)時(shí)才才執(zhí)執(zhí)行行refreshonly::觸觸發(fā)發(fā)刷刷新新動(dòng)動(dòng)作作。。資源源之之間間依依賴賴關(guān)關(guān)系系::before、、after、、require資源源之之間間觸觸發(fā)發(fā)subscribenotify友情情提提示示::refreshonly,refresh的的區(qū)區(qū)別別refreshonly::收收到到多多少少次次通通知知,,就就執(zhí)執(zhí)行行多多少少資資源源,,refresh:不管管有多少少次通知知,請(qǐng)執(zhí)執(zhí)行一次次。puppet+kickpuppetkick:主主動(dòng)強(qiáng)制制客戶端端運(yùn)行puppetagent.注意:puppetkick并并不關(guān)心心客戶端端puppetagent有沒沒有執(zhí)行行錯(cuò)誤,,它成功功連接到到agent即即返回回退出0.MCollective介紹紹官方的解解釋:MCollective就是是一個(gè)調(diào)調(diào)度器,可以解解決多個(gè)個(gè)puppetagent同時(shí)向向master提出請(qǐng)請(qǐng)求造成成性能,速度下下降的問問題;它它可以根根據(jù)不同同的屬性性對(duì)節(jié)點(diǎn)點(diǎn)進(jìn)行分分類,對(duì)對(duì)不同分分類執(zhí)行行不同的的任務(wù);它是一一個(gè)控制制終端,可以使使用它控控制客戶戶端和服服務(wù)器,因此不不需要puppetagent定定時(shí)運(yùn)行行了.MCollective也是是一種Client/Server架構(gòu),而且client和和server使用Midware(中間間件)進(jìn)進(jìn)行通信信,需要要java以及及activemq支支持.Mcollective官文文說明::/mcollective/introduction/PuppetMCollective功功能1.管理理/控制制/執(zhí)行行服務(wù)軟件包進(jìn)程信息息Facterfactsping使用說明明:#mcoTheMarionetteCollectiveversion1.3.2/usr/bin/mco:command(options)Knowncommands:findpgrepfactspingpuppetdhelpcontrollerrpcinventoryservice需要更多多功能,,可以安安裝更多多插件Mcollective使使用示例例[root@puppet1~]#mcofindpuppet1[root@puppet1~]##mcopingtime=56.11mstime=95.86mspuppet1time=96.78ms----pingstatistics----3repliesmax:96.78min:56.11avg:82.92[root@puppet1~]#mcopuppetdstatus*[===================================================>]3/3Currentlystopped;lastcompletedrun9663secondsagopuppet1Currentlyidling;lastcompletedrun1665580secondsagoCurrentlyidling;lastcompletedrun149secondsagoFinishedprocessing3/3hostsin36.27msPuppetmcollective使使用示例例MCollect使用用示例[root@puppet1~]#mcopgrepruby*[======================================================>]3/3PIDUSERVSZCOMMAND9955root112.996MBruby/usr/sbin/mcollectived--pid=/var/run/mcollectived.pidPIDUSERVSZCOMMAND5717root113.801MBruby/usr/sbin/mcollectived--pid=/var/run/mcollectived.pid25631root153.289MB/usr/bin/ruby/usr/sbin/puppetd--server=puppetmaster1--log----processliststats----Matchedhosts:2Matchedprocesses:3ResidentSize:28.917MBVirtualSize:380.086MBFinishedprocessing3/3hostsin198.42mspuppet+func管理理Func全稱為為FedoraUnifiedNetworkController(Fedora統(tǒng)一一網(wǎng)絡(luò)控控制器)),由Fedara社社區(qū)維護(hù)護(hù)的一款款用于服服務(wù)器自自動(dòng)化遠(yuǎn)遠(yuǎn)程管理理的工具具。有如如下特性性:Func可以以在主控控機(jī)上一一次管理理任意多多臺(tái)服務(wù)務(wù)器,或或任意多多個(gè)服務(wù)務(wù)器組;;Func基于于Certmaster(/certmaster/)建建立了Master––Slaves主主從SSL證書書管控體體系,可可以將證證書自動(dòng)動(dòng)分發(fā)到到所有受受控服務(wù)務(wù)器;Func命令令行可以以直接發(fā)發(fā)送遠(yuǎn)程程命令或或者遠(yuǎn)程程獲取數(shù)數(shù)據(jù);Func開開發(fā)者者已已經(jīng)完完成成了大大多多數(shù)常常用用任務(wù)務(wù)模模塊的的開開發(fā)::CommandModule、FileTrackerModule、、JBossModule、、IPtablesModule、、HardwareModule、、MountModule、、NagiosCheck、、NetappModule、NetworkTest、、ProcessModule、ServiceModule、SysctlModule、RebootModule、、RpmModule、VirtModule、YumModule等等等,這些些模塊的的作用都都可以顧顧名思義義,或者者參考::/func/wiki/ModulesList;;任何人都都可以通通過Func提供供的PythonAPI輕輕松編寫寫自己的的模塊,,以實(shí)現(xiàn)現(xiàn)體功能能擴(kuò)展。。而且任任何Func命命令行能能完成的的工作,,都能通通過API編編程實(shí)實(shí)現(xiàn);Func通訊訊基于XMLRPC和SSL標(biāo)準(zhǔn)準(zhǔn)協(xié)議。。func使用用示例#func"@fmgr"callprocessinfo"aux"##查看看進(jìn)程#func"@fmgr"callprocessmem##查查看內(nèi)存存#func"@fmgr"callservicestatuspuppet##查看看fmgr組中中各成員員puppet進(jìn)程狀狀態(tài)#func"@fmgr"callservicestoppuppet{'puppet2':0,'puppet3':0}#func"@fmgr"callservicestartpuppettips:func也是使使用ssl認(rèn)證證,可以以使用puppetmaster上上的ssl證書書認(rèn)證,,參見官官方文檔檔說明puppet應(yīng)應(yīng)用QA1.客客戶端是是如何使使用?nodedefault{includenginx}2.文文件備份份a.backup決決定文件件的內(nèi)容容在被修修改前是是否進(jìn)行行備份。。b.文文件服務(wù)務(wù)器a.默默認(rèn)是備備份到遠(yuǎn)遠(yuǎn)程filebucket{main:server=>"puppet"}File{backup=>main}默認(rèn)保存存在//var/lib/puppet/clientbucketb.備份份到本地地filebucket{'sky':path=>"/data/backup",}File{backup=>sky}文件備份份示例::file{"/etc/sudoers":mode=>"440",source=>"puppet:///modules/admin/sudoers",backup=>".bak",}恢復(fù):((哈希值值)c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論