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

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

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

假如你用的是 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 结合起来试试

我也来贴个链接,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 才需要

cxh116 我是来推荐 Ansible 的 提及了此话题。 04月03日 10:57
需要 登录 后方可回复, 如果你还没有账号请 注册新账号