
我在一家擁有大量虛擬機器和實體伺服器的公司工作,我們透過安裝不同的軟體包和添加新服務來不斷升級它們。我們正在考慮購買一款軟體,透過它我們可以在作業系統之外實現此流程的自動化。
例如,如果我想將所有伺服器的時間恢復為 2 小時,那麼最好透過幾次單擊來完成,從而無需在每台電腦上登入。
我看到一個軟體叫puppetlabs(http://docs.puppetlabs.com/)雖然它看起來很酷,但我相信可能會有更好的東西。
請建議我應該檢查什麼。
答案1
木偶是目前最廣泛的軟體,主要是因為 Puppetlabs 所做的嗡嗡聲。這是一個可靠的解決方案,但它有一些缺點(它發展很快,語言發生了很多變化)。還有一些奇怪的語法結構有點瘋狂(太空船運算符和其他)。
還有其他解決方案:
廚師有更清晰的語法,它是純 ruby 語法(DSL),而 Puppet 有自己的解析器。我想說的是,部署 Web 應用程式的公司往往更喜歡 Chef,而不是 Puppet,但這並不是一個通用規則。
CF引擎是用C(或我不記得的C++)寫的古老而快速的解決方案。這是一個相當學術的項目,但是非常強大並且性能也很好。
安西布爾是前 Puppetlabs 人員(也是前 Red Hat 人員)的一個新項目,它很有趣,您也應該檢查一下。它與 Puppet 有一些設計相似之處,也有不同之處,它具有基於乾淨 (YAML) 的清單語法(不是語言),並且是用 Python 編寫的。它是基於推送的,但可以用它來配置訊息傳遞。
更多工具- 還有更多工具,但這些是主要參與者。人們肯定會把其他事情放在我的(個人)清單上。我只給你提供了我所使用的軟體的提示。
邊註:我推薦 Foreman 項目,它是 Puppet(和 Chef)的一個很好的 GUI 介面,具有設定支援(裸機、虛擬化、雲端)和監控:http://www.theforeman.org