您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)怎么解析Puppet 2.6.x新功能,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Puppet是開源企業(yè)系統(tǒng)管理工具,它在Puppet 2.6.0發(fā)布版(及包括最近的2.6.5在內(nèi)的后續(xù)版本)中已經(jīng)加入了大量新功能。2.6.x系列版本將以多種方式成為Puppet的下一代,包括通過移動版本數(shù)里的小數(shù)點(從0.25到2.6.x系列)來使版本數(shù)正?;T谠摷记芍?,我們將強調(diào)它們的新功能并列舉一些它們?nèi)绾喂ぷ鞯睦印?/p>
首先,新版本標(biāo)志著對Puppet初始XMLRPC連接的反對及對更快的RESTful API的支持。這樣做的結(jié)果是Puppet性能提高,與之進行的整合也更容易。
支持Ruby DSL
另一個新功能是新的Ruby DSL(域特定語言)。Puppet有一個可用來管理配置的現(xiàn)在DSL,但2.6.0添加了對純Ruby版本DSL的支持。在現(xiàn)在的DSL中,你可以創(chuàng)建一項受管理的資源:
class host { file { “/etc/hosts”: mode => 0750, owner => root, } }
在新Ruby DSL中,你可以用如下方式表示:
hostclass :host do file “/etc/hosts”, :mode => 0750, :owner => “root” end
如果你已經(jīng)熟練掌握Ruby,在你有Ruby DS的清單中,你還可以用Ruby代碼執(zhí)行任務(wù)。舉例來說,你可以從你清單中的其它源里管理數(shù)據(jù)或檢索數(shù)據(jù),如從MySQL數(shù)據(jù)中檢索數(shù)據(jù)并把它用到Puppet資源里:
require 'rubygems' require 'mysql' hostclass :packages do con = Mysql.new('localhost', 'user', 'password', 'cmdb') pkgs = con.query('select * from packages') pkgs.each_hash { |p| package p['name'], :ensure => 'latest' } con.close end node 'default' do include 'packages' end
Puppet語言中的新功能
Puppet語言本身也有一些新功能,包括用哈希值(Puppet已經(jīng)了解陣列)的能力和添加到現(xiàn)有if/else條件中的elsif結(jié)構(gòu)。
if $foo == ‘bar’ { include baz } else { include qux }
現(xiàn)在Puppet允許更多如下的完全if/elsif/else句法:
if $foo == ‘bar' { include baz } elsif $qux == 'hum' { include valve } else { include box }
此外,Puppet現(xiàn)在支持“階段”的概念,這意味著你可以向你的清單中添加更粗略的命令。如果在特定命令中有配置需要,這對管理分程序很有用。例如,開啟主機需要的所有步驟可能發(fā)生于主機上的應(yīng)用配置之前。Puppet創(chuàng)建一個叫做“main”的默認階段。你可以創(chuàng)建其它階段并指定它們發(fā)生的命令:
stage { [pre, post]: } Stage[pre] -> Stage[main] -> Stage[post]
這些代碼規(guī)定兩個階段:pre和post。它接著指定執(zhí)行命令,先是pre,然后是main,接著是post。接著我們可以針對特定階段中的執(zhí)行向該階段中添加資源和類別,例如:
class { "keys": stage => pre; "dns": stage => main; "web": stage => post; }
審計配置選項
另一個新發(fā)展是Puppet審計配置的概念。在你運行Puppet之前你只有兩種模式:
·執(zhí)行,它在主機上做實際變更。
·模擬或“等待”模式,其中Puppet告訴你它將會做哪些變更但并不會真正做這些變更。
如果你只想了解知道配置狀態(tài),新審計功能允許你指定配置。你可以指定配置,如在目錄中追蹤文件所屬權(quán),告知Puppet注意這些文件并發(fā)送報告顯示它們隨時間的狀態(tài)變化。舉例來說,你可以審計`/etc/hosts`文件。Puppet***次運行文件時會報告它的特性——它歸誰所有,許可,等等。在每一次的連續(xù)性運行時,Puppet會檢查現(xiàn)有狀態(tài)并報告與之前相比的所有不同情況,例如,如果文件所有人改變,會產(chǎn)生一條日志信息:
審計變更:前記錄值所有者root變成了所有者james
這個功能讓你可以復(fù)制一些有審計功能的工具,如有Puppet的Tripwire。
Puppet企業(yè)版
Puppet實驗室發(fā)布了Puppet企業(yè)版,它是用一個安裝程序捆綁了所有Puppet及其相關(guān)附屬物的商業(yè)產(chǎn)品。它設(shè)計用來降低用戶進入的障礙并幫助人們實施Puppet配置的***實踐。它和開源產(chǎn)品功能相同,但它有自帶支持、更多的穩(wěn)固性測試、安裝程序和額外的文檔。
包括升級Puppet Dashboard和其它主要功能的未來版本和Puppet 2.7.0,這兩者都會在2011年中完成。
以上就是怎么解析Puppet 2.6.x新功能,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。