跳到正文
网络寻租
返回

chef介绍

chef是一个服务器自动化构建工具。最近我花了好多时间来研究它, 慢慢弄懂了如何使用,这里整理一下介绍。

为什么要自动化构建

我们搭建一台服务器,一般情况下是用ssh登录上去,手动执行一系列的安装脚本。这种方式有一些问题:

如果把服务器当作一个应用,针对服务器的操作就是应用的源代码,我们可以用代码库的思路来考虑服务器构建,这就是自动化构建。

chef的解决方案

服务器的一个状态(比如一个特定内容的文件,一个需要跑的进程服务),可以定义成一个resource, 用provider控制resource的状态(比如删除文件,创建文件,启动进程), 一系列这样的描述,定义了我们想要做的事情,比如安装postgresql,构成了一个cookbook。 这些描述和操作,都用ruby语言编写,cookbook用源码管控。

在每个服务器(node)上面,会跑一个chef-client,从chef-server获得cookbook, 自己需要跑的东西(run_list),服务器给自己设置的属性(attributes),通知服务器自己的状态。

更多的文档,请见:http://docs.chef.io/

如何学习

chef相当的复杂,我花费了好多时间来学习它。这里是我建议的学习过程:

个人的实践

掌握了工具仅仅是开始,更难的在于如何使用工具。这里整理我的一些实践操作。

个人的一些思考


分享这篇文章:

上一篇
从零开始构建linux
下一篇
家庭NAS服务器搭建

评论

评论通过 GitHub 账号发布,需要先使用 GitHub 登录。