運維自動化Puppet應(yīng)用與架構(gòu)

上傳人:方*** 文檔編號:253348688 上傳時間:2024-12-11 格式:PPT 頁數(shù):35 大?。?.29MB
收藏 版權(quán)申訴 舉報 下載
運維自動化Puppet應(yīng)用與架構(gòu)_第1頁
第1頁 / 共35頁
運維自動化Puppet應(yīng)用與架構(gòu)_第2頁
第2頁 / 共35頁
運維自動化Puppet應(yīng)用與架構(gòu)_第3頁
第3頁 / 共35頁

下載文檔到電腦,查找使用更方便

28 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《運維自動化Puppet應(yīng)用與架構(gòu)》由會員分享,可在線閱讀,更多相關(guān)《運維自動化Puppet應(yīng)用與架構(gòu)(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,Page,?,,*,單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯

2、母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級

3、,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,Page,?,,*,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,Page,?,,*,單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,Page,?,,*,單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,Page,?,,*,單擊此處編輯母版標(biāo)題樣式,,Puppet 應(yīng)用

4、與架構(gòu),,,吳問志,網(wǎng)站: puppetfans@,,微博:puppetfans@,引言,機器越來越多,,應(yīng)用越來越復(fù)雜,,架構(gòu)越來越復(fù)雜,,審記越來越難,,內(nèi)容概要,1.puppet 介紹,,- 什么是puppet,,- puppet 能做什么,,- puppet 如何做到,,- puppet 目錄結(jié)構(gòu)介紹,,2.運維自動化工具對比,,- puppet vs cfengine,,- puppet vs chef,,3.puppet 使用時注意事項,,,,4.puppet 應(yīng)用案例,,-puppet 管理用戶,,-puppet nginx 管理,,-puppet kick 介紹,,-pupp

5、et MCollective 介紹,,- puppet func 介紹,,5.puppet 架構(gòu)與集群,,-puppet 架構(gòu),,-puppet 集群方案,,- puppet 集群核心思想,,-puppet性能測試方法,,6. QA,,-puppet 未來,,,puppet 介紹,什么是puppet,,,遵循GPL 協(xié)議,(2.,7.0,),,基于ruby 語言開發(fā)的系統(tǒng)配置管理工具,,說明性語言表達系統(tǒng),用庫實現(xiàn)配置,,基于C/S架構(gòu),配置客戶端和服務(wù)端,也可以獨立運行,,puppet 對于系統(tǒng)管理員是抽象,只依賴于ruby與facter.,,默認(rèn)情況下,客戶端每30分鐘連接到puppetm

6、aster,,puppet 能做什么,,,puppet 能管理多達將40多種資源管理,例如:file,user group, host,package,service,cron,exec,yumrepo適合整個軟件生命周期管理,。,,注:2.7.0以后,使用(,Apache 2.0 license,),,,注:puppet特殊資源--虛擬資源,,?.,puppet 有個特殊的Type,例如Package,User等。這個Type就是告訴puppet被管理的是什么資源。,,,puppet 的適用場景,puppet 是如何工作的,puppet 工作流程,,注:內(nèi)部處理過程是抽象的,Pup

7、pet,模型參考,Puppet,三層模型,,package { "nginx":,,ensure => installed,,,},puppet 工作流程分拆,Facter介紹,Facter是什么,,facter是內(nèi)置的puppet工具,它提供的一個標(biāo)準(zhǔn)方式去獲得客戶端環(huán)境變量等相關(guān)信息,,Facter能獲得哪些信息,,,#facter -p,,architecture => x86_64,,id => root,,interfaces => eth0,lo,,ipaddress => 192.168.200.63,,ipaddress_eth0 => 192.168.200.63,,。

8、。。。。。。,,ikernprocessor0 => Intel(R) Xeon(R) CPU E5405 @ 2.00GHz,,prouptime => 27 days,,uptime_days => 27,,uptime_hours => 651,,uptime_seconds => 2344200,,注:這些變量可以直接來使用,例如: {$::ipaddress}或者$::ipaddress,,當(dāng)然你也可以自定義fact,需要使用ruby來編寫。,,,,,,開源社區(qū)版和企業(yè)版對比,,開源社區(qū)版,企業(yè)版,,用戶圖形接口,內(nèi)置,Ec2模塊,內(nèi)置,Ec2模塊,,內(nèi)置,Vm

9、ware vms,,配置管理,-發(fā)現(xiàn)和克隆,配置管理,-操作系統(tǒng),配置管理,-操作系統(tǒng),,配置管理,-用戶賬戶管理,管理應(yīng)用,管理應(yīng)用,內(nèi)置,300+模塊,內(nèi)置,300+模塊,,統(tǒng)一跨平臺組件安裝,,自動配置審記,,業(yè)務(wù)流程自動化,網(wǎng)絡(luò)技術(shù)社區(qū)支持,網(wǎng)絡(luò)技術(shù)社區(qū)支持,,7*24 小時技術(shù)支持,,puppetlabs工程師認(rèn)證支持,,依賴包在一個目錄下,,平滑升級和維護支持,puppet 目錄結(jié)構(gòu)與模塊介紹,puppet 目錄結(jié)構(gòu) (右一),,,,注:manifests/site.pp必須存在,,,,puppet 模塊結(jié)構(gòu)(右二),,,,,注: manifests/init.pp必須存在,,Pu

10、ppet,與其它自動化工具對比,puppet,VS,cfengine,p,uppet,,VS,,chef,安裝配置簡單,安裝復(fù)雜需要依賴DB,基于ruby開發(fā),Puppet 自有高級配置語言,基于c語言,語法難懂,學(xué)習(xí)維護成本高,備份恢復(fù)簡單,備份恢復(fù)復(fù)雜,用于管理各種資源,重點用于管理文件,底層負(fù)責(zé)建模,,模擬資源之間相互關(guān)系,,,,安裝配置簡單,安裝配置比較復(fù)雜,基于ruby,用戶不熟悉ruby,也可以使用,使用的是ruby擴展,需要用戶熟悉ruby語言,入門難,備份恢復(fù)簡單,維護不方便,有眾多開發(fā)者和文檔,文檔或者資料少,有更成熟悉商業(yè)經(jīng)驗,用戶群相對少,更多功能,借鑒其思想,是pupp

11、et一個分支,Puppet,使用注意事項,1.,主機名使用,FQDN,格式命名,,,需要DNS或者h(yuǎn)osts解析,,2.C/S,兩端時間要同步,,SSL,認(rèn)證依賴于時間,,3.ssl,認(rèn)證過后,請不要修改主機名,,4.Usecachefaiure,,5.,tag 和,tagged,,6.,節(jié)點可以繼承,但不能多重繼承,,7.,類可以繼承與覆蓋,子類可以向父類添加額外屬性值,,8.puppet,支持多環(huán)境部署(分:開發(fā)、測試、線上),,9.tidy,資源中多條件關(guān)系是或者,而不是,and,,10.選擇正確的版本,Puppet,使用時注意事項,1.節(jié)點設(shè)置tag,,tag("old-slow-se

12、rver"),,if tagged("old-slow-server") {,,notify { "this will succeed": },,},,,2.對資源設(shè)置tag,,,file { "/etc/ssh/sshd_config":,,...,,notify => Service["ssh"],,,tag => "s,sh,",,,},,,# puppet agent --test --tags,ssh,1,類繼承示例,,class,nginx,::port8,1,inherits,nginx,,{ ....,,},,錯誤示例,,class,nginx,::port8,1,inh

13、erits,nginx ,apache,,{,,.... },,,子類向父類添加額外屬性,,Service[",nginx,"] {,,require +> File[,/"etc/nginx/conf.d/nginx81.conf",],,,},,},,,Puppet,的應(yīng)用案例,Puppet,管理用戶(關(guān)于:管理用戶的幾點說明,,,a. puppet 支持ldap以及nis集中認(rèn)證,,b.puppet 支持用戶密碼管理,最好以''(單引號)括起來,,c. puppet 建用戶的默認(rèn)是不建家目錄的,需要使用managerhome=>true,,p,uppet,管理,nginx,,pupp

14、et kick,,Puppet MC,ollective,,P,uppet,,func,,,puppet 虛擬資源,以@為前綴,,使用虛擬資源需要配置storeconfig,,虛擬資源使用場景,,,多個資源需要引用共同的某個資源實例,例如A用戶是SA,又是DBA,puppet nginx 應(yīng)用案例,Exec有條件的執(zhí)行:,,creates:指定命令所生成的文件那么命令只會在所指定的文件不存在的情況的被執(zhí)行,,unless:所設(shè)定的命令返回0時才執(zhí)行,,onlyif:只會在onlyif設(shè)定的命令返回0時才執(zhí)行,,refreshonly:觸發(fā)刷新動作。,,資源之間依賴關(guān)系:,,before 、 a

15、fter、 require,,資源之間觸發(fā),,subscribe notify,,友情提示:,,refreshonly,refresh的區(qū)別,,refreshonly:收到多少次通知,就執(zhí)行多少資源,,,refresh:不管有多少次通知,請執(zhí)行一次。,,puppet +kick,puppet kick:主動強制客戶端運行puppet agent.,,注意:puppet kick 并不關(guān)心客戶端puppet agent 有沒有執(zhí)行錯誤,它成功連接到agent 即返回退出0.,MCollective介紹,官方的解釋:MCollective就是一個調(diào)度器,可以解決多個puppet agent同時向m

16、aster提出請求造成性能,速度下降的問題;它可以根據(jù)不同的屬性對節(jié)點進行分類,對不同分類執(zhí)行不同的任務(wù);它是一個控制終端,可以使用它控制客戶端和服務(wù)器,因此不需要puppet agent定時運行了.,,,MCollective也是一種Client/Server架構(gòu),而且client和server使用Midware(中間件)進行通信,需要java以及activemq支持.,,,Mcollective官文說明:,, MCollective 功能,1.管理/控制/執(zhí)行,,服務(wù),,軟件包,,進程信息,,Facter facts,,ping,,使用說明:,,# mco,,The Marionette

17、Collective version 1.3.2,,/usr/bin/mco: command (options),,Known commands: find pgrep facts ping puppetd help controller rpc inventory service,,需要更多功能,可以安裝更多插件,,Mcollective 使用示例,[root@puppet1 ~]# mco find,,,,puppet1,,,,[root@puppet1 ~]## mco ping,, time=56.11 ms,,

18、 time=95.86 ms,,puppet1 time=96.78 ms,,---- ping statistics ----,,3 replies max: 96.78 min: 56.11 avg: 82.92,,[root@puppet1 ~]# mco puppetd status,,,* [ ===================================================> ] 3 / 3,,, Currently

19、 stopped; last completed run 9663 seconds ago,,puppet1 Currently idling; last completed run 1665580 seconds ago,, Currently idling; last completed run 149 seconds ago,,,Finished processing 3 / 3 hosts in 36.27 ms,,Puppet mcollective使用示例,MColle

20、ct使用示例,,[root@puppet1 ~]# mco pgrep ruby,,,* [ ======================================================> ] 3 / 3,,,,PID USER VSZ COMMAND,,9955 root 112.996 MB ruby /usr/sbin/mcollectived --pid=/var/run/mcollectived.pid,,,,,PID USER VSZ COMMAND,,571

21、7 root 113.801 MB ruby /usr/sbin/mcollectived --pid=/var/run/mcollectived.pid,,25631 root 153.289 MB /usr/bin/ruby /usr/sbin/puppetd --server=puppetmaster1 --log,,---- process list stats ----,,Matched hosts: 2,,Matched processes: 3,,Resident Size: 28.917 MB,,Virtual Size: 3

22、80.086 MB,,Finished processing 3 / 3 hosts in 198.42 ms,puppet +func 管理,Func全稱為Fedora Unified Network Controller(Fedora統(tǒng)一網(wǎng)絡(luò)控制器),由Fedara社區(qū)維護的一款用于服務(wù)器自動化遠(yuǎn)程管理的工具。有如下特性:,,Func 可以在主控機上一次管理任意多臺服務(wù)器,或任意多個服務(wù)器組;,,Func 基于 Certmaster(https://fedorahosted.org/certmaster/)建立了,,Master – Slaves 主從 SSL 證書管控體系,可以將證書

23、自動分發(fā)到所有受控服務(wù)器;,,Func 命令行可以直接發(fā)送遠(yuǎn)程命令或者遠(yuǎn)程獲取數(shù)據(jù);,,,Func 開 發(fā) 者 已 經(jīng) 完 成 了 大 多 數(shù) 常 用 任 務(wù) 模 塊 的 開 發(fā) :,,CommandModule 、 FileTrackerModule 、 JBossModule 、IPtablesModule、HardwareModule、MountModule、NagiosCheck、NetappModule、 NetworkTest、ProcessModule、ServiceModule、SysctlModule、RebootModule、 RpmModule、VirtModule、

24、YumModule等等,這些模塊的作用都可以顧名思義,或者參考:https://fedorahosted.org/func/wiki/ModulesList ;,,,任何人都可以通過 Func 提供的 Python API 輕松編寫自己的模塊,以實現(xiàn)體功能擴展。而且 任何 Func 命令行能完成的工作,都能通過 API 編程實現(xiàn);,,,,Func 通訊基于 XMLRPC 和 SSL 標(biāo)準(zhǔn)協(xié)議。,func 使用示例,# func "@fmgr" call process info "aux" ##查看進程,,# func "@fmgr" call process mem ## 查看內(nèi)存,,#

25、 func "@fmgr" call service status puppet ##查看fmgr組中各成員puppet進程狀態(tài),,#func "@fmgr" call service stop puppet,,{'puppet2': 0, 'puppet3': 0},,# func "@fmgr" call service start puppet,,,tips: func也是使用ssl認(rèn)證,可以使用puppetmaster上的ssl證書認(rèn)證,參見官方文檔說明,,puppet 應(yīng)用QA,1. 客戶端是如何使用?,,node default {,,include nginx,,},,2. 文

26、件備份,,a.backup 決定文件的內(nèi)容在被修改前是否進行備份。,,b. 文件服務(wù)器,,a. 默認(rèn)是備份到遠(yuǎn)程,,filebucket { main: server => "puppet" },,File { backup => main },,默認(rèn)保存在/ /var/lib/puppet/clientbucket,,b.備份到本地,,filebucket { 'sky' :,,path=>"/data/backup",,,},,File { backup=>sky },,,,文件備份示例:,,f,ile { "/etc/sudoers":,,mode => "440",,,source

27、=> "puppet:///modules/admin/sudoers",,,backup => ".bak",,,},,,恢復(fù):(哈希值),,cp /var/lib/puppet/clientbucket/c/0/7/,,d/0/a/a/2/c07d0aa2d43d58ea7b5c5307f532a0b1/contents /etc/sudoers,,,,puppet 同步大文件可以使用rsync模塊,Puppet,架構(gòu)與集群,Puppet,普遍部署為,C/S,架構(gòu):,,,,,,,Puppet,成熟的集群方案:,,1.Puppet +nginx,,2.Puppet +,p,asseng

28、er,,3,.Puppet +mongrel,,4,.Puppet+git,(特殊),Puppet,架構(gòu)與集群,Puppet,集群核心思想:,,1).puppetmaster,集群,,,-,分擔(dān),puppetmaster,來自于客戶端的請求壓力,,,可以采取,Active ,Active,模式,.,,,-,采取反向代理模式,將來自于,8140,的端口請求分散到多臺puppetmaster,,2).puppet ssl,證書集群,,,-,分擔(dān),puppetmaster,來自于客戶端,ssl,證書的請求壓力,,,采取,Active,Standby,模式,.,,,3).,采取獨立運行模式,通過git

29、 將代碼push到客戶端,客戶端本地執(zhí)行相應(yīng)代碼。,,,,Puppet,架構(gòu)與集群,a.puppetmaster 集群架構(gòu)圖,,Puppet,架構(gòu)與集群,puppetca 集群架構(gòu)圖:,,puppetmaster 并發(fā)性能測試方法,默認(rèn):centos系列puppet-load.rb在 /usr/share/puppet/ext目錄下。,,測試puppetmaster性能:,,./ext/puppet-load.rb - --debug --node --server puppet1 --factsdir=/var/lib/puppet/yaml/facts --concurrency 1 --repeat 1 --cert /var/lib/puppet/ssl/certs/puppet1.pem --key /var/lib/puppet/ssl/private_keys/puppet1.pem,,參閱:,,http://www.masterzen.fr/2010/10/18/benchmarking-puppetmaster-stacks/,EC2 客戶端puppet 工作流,,puppet 未來,項目地址:,,

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!