廚師和木偶推薦
回答
我會使用Puppet,但我有點偏見,因爲我寫了一本關於它的書,並在那裏工作。 :)除了Rump,您還可以在其應用模式下使用Puppet - 這與廚師獨奏相同。雖然Rump包裝了一些值得嘗試的過程。
我給木偶這裏拍攝使用臀部周圍的包裹物 - 你既可以用木偶DSL或Ruby DSL(廚師只有一個Ruby DSL)。使用Puppet創建「環境」並將git/CI工作流程與您的部署集成非常容易。它也很容易與Rake任務或諸如此類集成。
既然使用了兩者,我會說它取決於你所尋找的。在我看來:
廚師更開發商取向。如果你是一位Ruby大師,你會愛上它。
Puppet is more sysadmin-oriented。它有一個非ruby的DSL,所以將錯誤傳播到你的機器(imho)更加困難。
木偶創建更具可讀性和穩定的代碼,但它也慢部署新功能。這可能是您在一個堅信您的DevOps工作的大企業架構中需要的。
隨着廚師可以實現複雜的任務,用更少的代碼,時間精力。你可以使用所有的紅寶石魔法,而無需創建一個Puppet構造。例如,當您的公司並不真正相信DevOps的價值,並且您不斷努力爭取時間來證明您的經理錯誤時,這很好:-)我個人發現Puppet在開發新功能時執行起來要慢一些可能會有點痛苦。
我的建議是:如果你有一定的開發技能的系統管理員,去木偶。如果你對Ruby(或Python)很好,那就去廚師吧。
我也試過臀部,我用它玩。它有幫助,它很酷,但我仍然沒有看到一個巨大的價值,除了懶惰打字臀部去而不是puppet apply -vd --modulepath =。 module/manifests/init.pp。 :)
我發現puppet apply + capistrano最適合本地設置或在您是單個部署者的項目中。否則,安全性告訴我們使用puppet master或Hosted Chef或Chef Solo或其他人:)用Ruby編寫的很多puppet模塊,我也喜歡語法,它很容易配置,Chef更加困難。但有時廚師可以對任何使用木偶的服務器做任何事情:) – merqlove
由於某種原因,我通過將'-e'開關加入我的班級,我有更好的運氣。 'sudo puppet apply --modulepath〜/ git/puppet_modules -e'include my-class'' – MarkHu
最後,我結束了木偶+ vagrant這讓我運行/重新運行/測試木偶表現:然後
gem install puppet
gem install vagrant
:
首先安裝VirtualBox,然後
vagrant box add base http://files.vagrantup.com/lucid32.box
vagrant init
然後編輯./Vagrantfile說:
Vagrant::Config.run do |config|
config.vm.box = "base"
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.module_path = "modules"
end
# rest here
end
然後節點定義添加到manifests/default.pp
,如:
group { "puppet":
ensure => "present",
}
file { '/etc/motd':
content => "Welcome to your Vagrant-built virtual machine!\n"
}
然後運行:
vagrant up
現在你已經有了一個傀儡管理虛擬機,你可以玩,任何清單你改變進入源代碼管理。你可以快速迭代而不必訴諸於臀部。
Puppet和Chef之間還有一個很大的區別就是Puppet會在服務器上完成所有的清單編譯,而Chef(和cfengine)會在客戶端上完成部分或全部工作。
這是什麼意思是 *您的客戶端上運行木偶的CPU佔用空間較少, *插件使用Puppet編寫的模塊只能在服務器上運行。
第二部分很重要,因爲它使Puppet與其他架構相結合變得更容易。例如,如果您想通過另一個應用程序的API來獲取數據,那麼在Puppet下,您只需要在Puppetmaster上安裝必要的API模塊,並且只需要授予該服務器對API的訪問權限即可。任何必要的證件也都留在傀儡大師身上 - 更加安全。
我們整合了Puppet和SecretServer(使用puppet自動旋轉根密碼並將它們存儲到SecretServer中)。根據我的理解模型,這在廚師之下是不可能的或安全的。
- 1. 使用廚師/木偶並管理手工更改
- 2. 非常簡單的流浪安裝與廚師或木偶
- 3. 獲取團隊城市的廚師/木偶通知
- 4. 廚師推薦的執行命令的方式
- 5. 廚師和PostgreSQL
- 6. 木偶大師無法啓動
- 7. 木偶大師:如何打開日誌?
- 8. 木偶大師新鮮安裝錯誤
- 9. 流浪運行的木偶大師與
- 10. 持續交付與capistrano /廚師/木偶:你在哪裏存儲你的文物?
- 11. 替代廚師/木偶/詹金斯推送從服務器到客戶端的指令集,反之亦然?
- 12. 木偶 - 應用木偶類
- 13. 如何從一個木偶代理使用多個不同的木偶大師?
- 14. Rest API和廚師
- 15. 你可以混合廚師零廚師,廚師 - 金屬 - 流浪(流浪)和berkshelf?
- 16. 木偶:puppetDB和TEMPLATEDIR
- 17. 廚師推工作不工作
- 18. 企業廚師推送工作
- 19. 廚師 - NoMethodError在廚師::資源::應用
- 20. 廚師:理解廚師::資源提供?
- 21. etcd/zookeeper/consul和其他配置管理工具(如廚師/木偶/ ..)之間的關係?
- 22. 木偶企業或木偶開源
- 23. 廚師服務器和廚師客戶端連接
- 24. 添加食譜廚師run_list和廚師客戶端-o選項
- 25. 是廚師自動化和廚師交付一樣嗎?
- 26. 廚師下載和在Windows
- 27. 廚師和碼頭工人
- 28. 廚師和redissio錯誤
- 29. 廚師和Nagios間隔
- 30. 廚師 - 角色和環境
太棒了。我幾天前買了你的書。我應該在哪裏尋找關於如何將我的代碼設置爲傀儡可以與例如傀儡一起處理的包的指導。 Web服務器還是作爲獨立服務(例如使用TopShelf)? – Henrik
這本書寫的就像我坐在一個企業的基礎設施,DNS服務器等已經成立......我如何從頭開始在WIN/Ubuntu的?假設我想配置一個Win2008服務器並擁有一個git存儲庫? – Henrik