码迷,mamicode.com
首页 > 其他好文 > 详细

Chef server

时间:2016-07-07 18:54:09      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

Chef

是由 Ruby 与 Erlang 写成的配置管理软件,它是一个自动化工具,主要把服务器的各种资源进行组织和抽象,可以用来维护服务器集群,用于云平台的管理。

Chef中的工具都是基于Ruby语言

1. 环境管理

2. 自动化的对环境初始化和变更

 

名词解释:

 Chef, 顾名思义,作为一名厨师,为了完成一道美味,需要一份菜单,也就是 cookbook;里面包含了很多菜的做法,每道菜的做法就是一个 recipe;用于描述每台服务器需要配置哪些信息和资源,可以定义一个 role。通过定制化自己的 cookbook 等内容,同时设置必要的 attribute 属性,就可以大规模部署自己定义好的服务到各自节点。Chef 提供了多种方式来查看,可以通过网页界面来访问,也可以通过命令行方式查看已经配置好的信息。

 

Chef 主要分为三个部分 Chef Server、Workstation 以及 Chef Client。用户在 Workstation 上编写 Cookbook。然后,通过 knife 命令上传到 Chef Server。最后,在 Chef Client 上实施安装和部署工作。所以,对于 Cookbook 的编写在整个自动化部署中起到了重要的作用。

 

Cookbook 主要分为如下几个组件:

  • Recipe 是用来定义对一个目标机器做部署的整个操作,比如,如何安装,安装哪些包,怎样做配置等。
  • Attribute 是用来定义一个目标机器的属性值的。类似于定义一个全局变量,通常用来给 Cookbook 的其他组件提供属性值。
  • File 是用来作部署的文件。一般会根据操作系统、平台等定义不同的文件配置。
  • Library 用来对 Cookbook 的功能做扩展。我们可以用 Ruby 语言编写自己的类来供 Recipe 调用。
  • Resource 用来自定义一个状态的运行规则。比如,针对服务的时候,我们可以定义几种不同的状态规则。
  • Provider 用来定义具体某个 Resource 的执行内容。从编程的角度可以理解为 Resource 定义了一个接口,而 Provider 是这个接口的实现。
  • Template 一些内嵌了 Ruby 标签的文件,通常用来定义配置文件。
  • Metadata 定义了 Cookbook 的属性值,比如,当前的 Cookbook 的版本,支持的平台,对其他 Cookbook 的依赖等信息。

http://www.ibm.com/developerworks/cn/cloud/library/1504_wangqw_chefcookbook/index.html

http://www.ibm.com/developerworks/cn/cloud/library/1411_huangyx_chefforswift/#resources

http://it.taocms.org/07/4049.htm

http://blog.chinaunix.net/uid-21335514-id-4356584.html

Chef server

标签:

原文地址:http://www.cnblogs.com/jackie2016/p/5650731.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!