一、重新來過
之前的PUPPET文檔基本能夠滿足使用,算是第一階段;但為了更好的完成自動化工作,開始研究強大的Foreman、Mcollective等工具,本文開始將發布基于Foreman、Mcollective的PUPPET應用第二階段部署過程,重新搭建實驗環境。
二、Foreman架構
三、功能說明
1、foreman通過代理DNS、DHCP、TFTP完成了kickstart、cobbler、jumpstart 等各種自動化安裝系統工具的圖形統一管理窗口, 實現的結果是只需要在foreman上定制各種模板(pxe、ks),不同的模板 還可以嵌套各種片段(snippet)達到統一、簡化的目的。
2、foreman通過代理puppet、puppet CA完成對puppet自動簽名、puppet環境、class、變量、facter的管理。
3、foreman通過ENC和靜態組管理class和node之間的關聯。
4、foreman通過puppet plugin,可以在UI上完成對節點puppet命令的觸發動作, 觸發的方法可以借助puppetkick(已經被遺棄)、mcollective(借助sudo)、 puppetssh(借助sshkey)、salt、customrun等各種工具實現。
5、foreman可以收集所有節點運行puppet后的報告、執行情況。
6、foreman還提供了各種搜索、報表等功能,能夠更好的展現節點的運行狀況。
7、foreman除了管理裸機外還可以管理各種虛擬化軟件,比如RHEV-M、EC2、VMWware和OpenStack等。
8、foreman還可以和LDAP以及AD集成。
9、foreman還提供了強大了用戶、權限管理入口,可以建立多個用戶、多個用戶組、還可以對權限進行角色的定義等。
10、foreman還提供了所有在UI上操作的Audits(審計)功能,這樣可以保障所有用戶的操作都有據可查。
四、版本選擇
系統:CentOS 6.5 x64 IP:10.99.1.30 HOSTNAME:puppet.ewp.com
軟件:Puppet-Server-3.7.3 Foreman-1.6.3
說明:試過puppet 3.7.5 和 3.8.1版本,用foreman-installer安裝時會報如下錯誤
/usr/lib/ruby/site_ruby/1.8/puppet/context.rb:54:in lookup': Could not parse for environment production: no 'environments' in {:current_environment=>#<Puppet::Node::Environment:0x7fa9df7dace0 @manifest=:no_manifest, @modulepath=[], @name=:"*root*", @watching=true, @config_version=nil>, :root_environment=>#<Puppet::Node::Environment:0x7fa9df7dace0 @manifest=:no_manifest, @modulepath=[], @name=:"*root*", @watching=true, @config_version=nil>} at top of [[0, nil, nil]] (Puppet::Error) from /usr/lib/ruby/site_ruby/1.8/puppet.rb:236:inlookup' from /usr/lib/ruby/site_ruby/1.8/puppet.rb:264:in
五、參考文檔
http://kisspuppet.com/2014/12/05/foreman_learning_4/
http://theforeman.org/manuals/1.5/index.html#3.InstallingForeman
http://projects.the-forman.org
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。