foreman架構的引入1-foreman做爲自動化運維工具爲何會如此強大

零基礎學習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做爲配置管理工具的前端呢?服務器

本文從如下幾個方面入手進行剖析微信

一、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爲例進行說明)框架

  1. foreman自己只是一個框架,經過smart-proxy代理各類應用程序完成各項功能。 Foreman框架Foreman框架ssh

  2. foreman經過代理DNS、DHCP、TFTP完成了kickstart、cobbler、jumpstart等各類自動化安裝系統工具的圖形統一管理窗口,實現的結果是隻須要在foreman上定製各類模板(pxe、ks),不一樣的模板還能夠嵌套各類片斷(snippet)達到統1、簡化的目的。完成以後,即可以添加節點,關聯定義的各類模板生成各類的pxe和ks文件實現自動化安裝。 Foreman版本發展線路圖Foreman版本發展線路圖Foreman版本發展線路圖Foreman版本發展線路圖ide

  3. foreman經過代理puppet、puppet CA完成對puppet自動簽名、puppet環境、class、變量、facter的管理。 Foreman版本發展線路圖Foreman版本發展線路圖Foreman版本發展線路圖Foreman版本發展線路圖工具

  4. foreman經過ENC和靜態組管理class和node之間的關聯。 Foreman版本發展線路圖Foreman版本發展線路圖

  5. foreman經過puppet plugin,能夠在UI上完成對節點puppet命令的觸發動做,觸發的方法能夠藉助puppetkick(已經被遺棄)、mcollective(藉助sudo)、puppetssh(藉助sshkey)、salt、customrun等各類工具實現。 Foreman版本發展線路圖Foreman版本發展線路圖

  6. foreman能夠收集全部節點運行puppet後的報告、執行狀況。 Foreman版本發展線路圖Foreman版本發展線路圖

  7. foreman還提供了各類搜索、報表等功能,可以更好的展示節點的運行情況。 Foreman版本發展線路圖Foreman版本發展線路圖

  8. foreman除了管理裸機外還能夠管理各類虛擬化軟件,好比RHEV-M、EC二、VMWware和OpenStack等。 Foreman版本發展線路圖Foreman版本發展線路圖

  9. foreman還能夠和LDAP以及AD集成。

  10. foreman還提供了強大了用戶、權限管理入口,能夠創建多個用戶、多個用戶組、還能夠對權限進行角色的定義等。不一樣的權限用戶在UI上所看到的功能以及主機是不同的。 Foreman版本發展線路圖Foreman版本發展線路圖

  11. foreman還提供了全部在UI上操做的Audits(審計)功能,這樣能夠保障全部用戶的操做都有據可查。 Foreman版本發展線路圖Foreman版本發展線路圖

除此以外,還有其它不少功能。。。。

針對配置管理的不足之處:foreman和mcollective的結合並非很好,它僅僅是借用了puppetkick的插件集成了mcollective的一條命令而已,這方面後期是否會有改進還須要等待。

二、foreman的版本藍圖

如下爲foreman的版本發展線路圖

Foreman版本發展線路圖Foreman版本發展線路圖

從圖中能夠看出,foreman的發展是至關的迅速的,不管是版本更替上仍是社區的活躍度上都是至關的良好。目前最新穩定版本爲1.5.2,而1.6.0的RC版本剛剛出來(統計時間2014年8月19號) 版本目前發展和預期線路圖:http://projects.theforeman.org/rb/releases/foreman

三、foreman的社區活躍度

foreman google groups:

https://groups.google.com/forum/#!forum/foreman-users

https://groups.google.com/forum/#!forum/foreman-dev

foreman的IRC: "#theforeman"

http://webchat.freenode.net/

@KissPuppet

2014年8月19號 上海

返回主目錄

交流方式:

微信公衆號:puppet2014,可微信搜索加入,也能夠掃描如下二維碼進行加入

微信公衆號微信公衆號

QQ交流羣:296934942

QQ交流羣

相關文章
相關標籤/搜索