新手问题 平时开发中大家使用 chef 或者 puppet 频率多吗?

wcc526 · 2014年06月14日 · 最后由 ailen 回复于 2014年06月15日 · 2861 次阅读

最近学习了下 chef,

发现这个东西学习曲线太陡了,对于效率的提高也不是很明显,有些软件还不如直接用 shell 脚本或者手工安装来得方便。

平时开发中大家使用 chef 或者 puppet 频率多吗?这种东西感觉有点华而不实,并没有所说的那么神奇,可能是我还没上手的原因吧,有人觉得 chef 很好用吗?谢谢!

这些是 SA 用的玩意儿,你不想身兼 SA 的话就不用管

如果你需要管理很多服务器,这些工具才能简化你的工作,一两台的话,又足够熟悉 shell script 的话,还是普通脚本好了。

没有几十上百台服务器,即使有,也不建议使用这两个“反智”的东西。

多个应用就用 Chef 或 Puppet,需要单独作为一个应用。

单个 VPS 可以用 Chef solo 和 Knife。我用过 chef solo。第一次麻烦点,以后很好用。

#4 楼 @billy 能问下你是全部的部署过程使用 chef 吗?能介绍下你的部署过程吗?谢谢!我刚接触,感觉 chef 是不错的东西,但是学习曲线太陡了。

@wcc526 流程写出来好多。你可以看看那本部署之道的书。也不是很陡,掌握概念就行了,无非是流程自动化。然后大量使用 DSL

我的做法大致是这样:

  1. 某 app 第一次部署先设定 staging, 可以是本地 vagrant 或者在线的。然后以下均基于 staging,除非特别声明。

  2. chef 文件单独做 git。然后设好所有选项。

  3. 安装 chef 到服务器。knife prepare

  4. cap deploy staging

这样基本就好了,人工看看大致没有问题就 cook 到 production, 以及 cap deploy production

修改服务器设置的时候改本地 chef git,然后 cook。不需要动 capistrano 就不动。

#6 楼 @billy 那能分享下你的 chef 的部署代码吗?谢谢!https://github.com/billychangithub上没找到我在你的

#6 楼 @billy 我照那个部署之道那本书的流程,发现一直部署不上去,那本书感觉非常不适合初学者。

用 ansible 吧,不用在远端安装东西

@wcc526 我看了一下我的那个本地文件夹,核心逻辑和密码什么的都在 nodes/里面,都 ignore 了 :)。你可以看看这个https://github.com/TalkingQuickly/rails-server-template 我基本是照这个改的。

实在有困难就先手动吧,这个东西就像@blacktulip 说的也是个锦上添花,不是必要的。

#10 楼 @billy 好的,谢谢!

@wcc526 最近我也在学习,遇到了不少坑,不过最近比较顺利了,个人觉得还是不错,对于多台服务器的部署都 ok,我在用 chef+vagrant 来练习多台 server 部署,入门可以参考http://gogojimmy.net/2013/06/01/Chef-Solo-Basic-with-Vagrant/

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