零基礎學習Puppet自動化配置管理系列文檔前端
在引入foreman以前,筆者曾經大幅度測試過puppet的另一個生態圈前端軟件,那就是KermIT(kermit.fr須要牆)。說實話基於KermIT這套架構仍是至關不錯的,尤爲是在於mcollective的各類插件結合上作的很完美,惋惜社區太不活躍,軟件版本更新超慢,坑超多,最終仍是放棄了。不過,他的架構仍是值得借鑑的,對於那些想本身在puppet前端作UI的朋友能夠多參考參考。node
本文引入另一個很是出色的前端管理工具Foreman,什麼是foreman呢,官方是這樣定義的:Foreman是一個物理和虛擬服務器的完整的生命週期管理工具(Foreman is a complete lifecycle management tool for physical and virtual servers)。web
爲何要引入foreman做爲配置管理工具的前端呢?服務器
本文從如下幾個方面入手進行剖析微信
A Foreman installation will always contain a central foreman instance that is responsible for providing the Web based GUI, node configurations, initial host configuration files, etc. However, if the foreman installation supports unattended installations then other operations need to be performed to fully automate this process. The smart proxy manages remote services and is generally installed with all Foreman installations to allow for TFTP, DHCP, DNS, and Puppet, and the Puppet CA.架構
以上爲官方的定義,我這裏在根據平常使用的狀況進行一些歸納(以目前最新穩定版本1.5.2爲例進行說明)框架
foreman經過代理DNS、DHCP、TFTP完成了kickstart、cobbler、jumpstart等各類自動化安裝系統工具的圖形統一管理窗口,實現的結果是隻須要在foreman上定製各類模板(pxe、ks),不一樣的模板還能夠嵌套各類片斷(snippet)達到統1、簡化的目的。完成以後,即可以添加節點,關聯定義的各類模板生成各類的pxe和ks文件實現自動化安裝。 ide
foreman經過代理puppet、puppet CA完成對puppet自動簽名、puppet環境、class、變量、facter的管理。 工具
foreman經過puppet plugin,能夠在UI上完成對節點puppet命令的觸發動做,觸發的方法能夠藉助puppetkick(已經被遺棄)、mcollective(藉助sudo)、puppetssh(藉助sshkey)、salt、customrun等各類工具實現。
foreman還能夠和LDAP以及AD集成。
foreman還提供了強大了用戶、權限管理入口,能夠創建多個用戶、多個用戶組、還能夠對權限進行角色的定義等。不一樣的權限用戶在UI上所看到的功能以及主機是不同的。
除此以外,還有其它不少功能。。。。
針對配置管理的不足之處:foreman和mcollective的結合並非很好,它僅僅是借用了puppetkick的插件集成了mcollective的一條命令而已,這方面後期是否會有改進還須要等待。
如下爲foreman的版本發展線路圖
從圖中能夠看出,foreman的發展是至關的迅速的,不管是版本更替上仍是社區的活躍度上都是至關的良好。目前最新穩定版本爲1.5.2,而1.6.0的RC版本剛剛出來(統計時間2014年8月19號) 版本目前發展和預期線路圖:http://projects.theforeman.org/rb/releases/foreman
foreman google groups:
https://groups.google.com/forum/#!forum/foreman-users
https://groups.google.com/forum/#!forum/foreman-dev
foreman的IRC: "#theforeman"
@KissPuppet
2014年8月19號 上海
微信公衆號:puppet2014,可微信搜索加入,也能夠掃描如下二維碼進行加入
QQ交流羣:296934942