开发工具 Puppet 和 Chef 哪个好用?哪个比较流行点?要学的话先学谁比较好?

blacktulip · 2013年07月04日 · 最后由 zsustar 回复于 2016年09月20日 · 21816 次阅读

额... 手动累了... 请有经验的指点下, thx

共收到 28 条回复

假如你用的是VPS或者AWS什么的

首选Rex

http://rexify.org/

次选Ansible

http://ansible.cc/

恶意满满地介绍Salt A Taste of Salt: Like Puppet, Except It Doesn’t Suck http://blog.smartbear.com/devops/a-taste-of-salt-like-puppet-except-it-doesnt-suck/

我早该预料到在 Ruby 社区提问就是这个下场......

Anyway,其实我是想跟 vagrant 配合使用的,看 vagrant 的文档里面只提到了 Ansible, Chef 和 Puppet ,估计只能用这三个?...

follow your heart

Pallet

http://palletops.com/

我承认我是来贴链接的.

#2楼 @PrideChung Salt个坑爹货,Push模式还要Agent,还用蛋疼的ZeroMQ

#5楼 @Saito 这个依赖JVM的,可以直接跳过了

#6楼 @bhuztez 没时间学 Perl ...

其实chef就挺好的,

#4楼 @hooopo 我的 heart 说「 tmd 我啥也不知道啊 ... 」

#9楼 @blacktulip Rex功能强大啊

chef吧,连capistrano都省了 :)

我喜欢 Ansible ... 的名字, 安德的游戏第一部今年10月就要出了, Ansible 应该会在第二部里提到...

#3楼 @blacktulip 个人感觉 puppet 跟 chef 差不多。平时在用 vagrant & puppet。

最近在折腾 sprinkle: https://github.com/sprinkle-tool/sprinkle , 一个比较简单的方案。

借助cap或者直接ssh来做provisioning。

这个没有那么多复杂的概念,脚本好写。本身的代码也没多少。

小规模部署足够用了。

#1楼 @bhuztez (R)?ex特别适合AWS这个说法能展开一下么?就是agent free概念?

#17楼 @Johnsonqu 同类比较 Rex > Ansible > Sprinkle

#18楼 @ericguo

Rex之类只依赖SSH的Push风格的,不需要先在系统上装Agent,只需要有SSH Server就好了。这样,AWS上的镜像就不用搞太复杂,开机之后让Rex去搞定就好了。

同类工具里,Rex的优势是,默认提供了调用AWS API建虚拟机的功能。

http://rexify.org/howtos/amazon.html

而且同时提供了本地用VirtualBox测试,部署用EC2的平滑过渡方案

http://rexify.org/howtos/use_boxes_with_any_box_provider.html

你可以继续参考

http://box.rexify.org/guide

推荐puppet 目前国内使用puppet较多的有baidu sina 易居客 很多吧 chef 目前还没用过

个人认为 puppet

Puppet 出道早,用户群体更广泛,但 Puppet Server 存在性能问题。但 Opscode Chef 有后来居上之势,其社区和 Ruby 社区类似非常有激情(大量成熟的工具,比如 knife-solo, Berkshelf, librarian-chef 还有 vagrant 插件,等等,我和我的小伙伴都惊呆了)。

后者对写会写代码的更友好些(前者对 SA 更友好?),即所谓的 Infrastructure as Code 以代码(用 git 进行版本控制)的形式管理基础架构。

如果还没学 Puppet 就直接 Chef 好了,会 Ruby 懂一点 Shell 和 Linux 上手很快,瞬间就可以组装,甚至写出复杂的 cookbook 了。个人没有系统学过 Ruby 只会 Shell scripting 两周速成 Chef 完成了两个还有点复杂的 cookbooks ;-)

有人提到 Ansible 这用来做 ad-hoc 并行执行工具还可以(模块相当多),拿来做 configuration management 就够呛了,其 Playbooks 完全就是模仿 Cookbooks 远不如 Chef ...

BTW: MCollective 被 Puppet 收购了,拿来当 Parallel Execution Framework 这方面 Chef 比较欠缺,光靠 knife / knife solo 可能不行。需要用 MCollective / Ansible / Fabric 之类的工具辅助一下...

以前一直在用capistrano/webistrano,对应发布来说,非常棒。@terrywang 最近正在研究chef,可以交流一下吗

今天听了docker 打算把这些工具和docker结合起来试试

#23楼 @terrywang chef 有讨论群吗

我也来贴个链接,https://pierrerambaud.com/blog/devops/chef-vs-puppet,说实话,看的不是很明白。

And the winner is...

Language: Chef Approach: Chef Resources: Chef Facter vs Ohai: Draw Hiera vs Data bags: Chef Beaker vs Kitchen: Chef Command line: Draw

作者意思是chef大胜,虽然我表示怀疑。 不过有一点可以赞同的是,puppet不是那么简单,而chef也不是developer才需要

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册