[1] DevOps 自动化运维工具Chef----入门

原创 2016年09月16日 00:00:35

最近在学习Chef, Chef 就是现在比较热门的自动化运维工具之一,其他的工具还有Ansible, Puppet, SaltStack.  为什么选择Chef,是因为Chef对Window的支持非常的好。

Chef的官方网站,https://www.chef.io/. 其当前最新的版本信息如下,

  • Chef Server版本是chef-server-core_12.8.0
  • Chef client的版本chef-client-12.13.37
  • chef 管理台的版本是chef-manage_2.4.3 
  • chef dev kit的最新版本是0.17.17

根据百度百科的定义,Chef是IT自动化平台,可让客户创建、部署、变更和管理基础设施运行时环境和应用。Chef是平台无关的,可以部署到云端、本地或作为虚机(VM)。Chef也被称为部署自动化工具和DevOps使能者,它是一款可以为不同规模企业提供许多集成选项的产品。

Chef是IT自动化平台,可让客户创建、部署、变更和管理基础设施运行时环境和应用。Chef是平台无关的,可以部署到云端、本地或作为虚机(VM)。Chef也被称为部署自动化工具和DevOps使能者,它是一款可以为不同规模企业提供许多集成选项的产品。
客户用Chef来创建、管理和部署应用栈、裸服务器以及VM。Chef平台主要基于客户/服务器。受管理的系统运行Chef客户端,后者再利用HTTP RESTful API连接Chef服务器。Chef服务器包含有一个数据库,里面存储有“配方”,“配方”会被打包成独立的“食谱”,代表着运行在客户端的独立组件—比方说JavaWebSphere以及MySQL等,还会保留着所有受管理机器的详细目录。
这些配方是用来创建部署和集成应用所需的组件的可重用建构块的。配方会合并进上面提到过的食谱。一旦编写或从Chef社区下载后,cookbook和recipe就可以作为模板来构建应用栈。这让客户可以以一致和可重复的形式创建、管理和部署环境,并且加速了这些环境的部署速度。Chef被格式用来显著减少人工的服务开通准备工作,以及应用和数据中心资源的管理时间。
Chef的架构如下图所示意,

Chef的主要优缺点如下(http://blog.takipi.com/deployment-management-tools-chef-vs-puppet-vs-ansible-vs-saltstack-vs-fabric/)

When to use it: Before considering Chef, make sure you’re familiar with Git, as it’s required for configuration, and Ruby, as you’ll have to be writing in it. Chef is good for development-focused teams and environments. It’s good for enterprises looking for a more mature solution for a heterogeneous environment.

Price: Free open source version, standard and premium plans priced on a per node per month basis that can get down to $6/node/month or $6.75/node/month respectively at high volume.

Pros:

  • Rich collection of modules and configuration recipes.
  • Code-driven approach gives you more control and flexibility over your configurations.
  • Being centered around Git gives it strong version control capabilities.
  • ‘Knife’ tool (which uses SSH for deploying agents from workstation) eases installation burdens.

Cons:

  • Learning curve is steep if you’re not already familiar with Ruby and procedural coding.
  • It’s not a simple tool, which can lead to large code bases and complicated environments.
  • Doesn’t support push functionality.
网上关于Chef的资料比较多,大家可以自己搜索。笔者就不在啰嗦。 因为最近笔者在尝试安装最新的版本,但是网络的资料大部分都是 Chef Server 11版本的资料,而Chef 12的安装和Chef 11的安装还是有区别的。具体安装请读者参考后续文章。



版权声明:本文为博主原创文章,未经博主允许不得转载。

使用Chef自动化部署框架的好处

使用Chef自动化部署框架的好处 (1)default.rb属性文件放在attributes目录下,灵活配置。 以前处理方式,java解析配置文件,生成shell脚本。 (2)php.ini.e...

使用 Chef 自动化部署一个 Web 服务器

http://www.ibm.com/developerworks/cn/cloud/library/1506_wangqf_chefforweb/index.html “这是一个最好的...
  • drcwr
  • drcwr
  • 2016年08月02日 17:04
  • 702

[11] DevOps 自动化运维工具Chef----如何获得Chef数据用户的用户名和密码?

上节我给大家展示了Chef服务器段的数据库的表空间,角色,表名称。整个数据库的结构:6 数据库,9个角色,2个表空间。那么我是如何得到数据的用户名和密码呢?这个有点难,大家不要着急,让我慢慢给大家展示...

[3] DevOps 自动化运维工具Chef----在Ubuntu上安装最新的Chef WorkStation 12.13.37

上一篇文章分享了如何安装Chef server,这边文章将继续分享最难安装的Chef workstation的最新版本。 到下面的地址下载Ubuntu的 Chef Client最新版本,https:/...

[8]DevOps 自动化运维工具Chef---如何查看Chef 自身的开发的API的文档?

我们知道Chef是基于Ruby开发的。而Ruby本身提供了ri的方式查看文档。那么什么是ri,ri是一个命令行的工具,让你可以方便的在控制台中查询API。同时ri 也可以启动一个文档服务器。...

[6]DevOps 自动化运维工具Chef---如何通过Chef WorkStation在Window 7客户机节点上远程自动安装最新的Chef Client?

前面和大家分享了如何在Ubuntu的系统上安装Chef Client,这篇文章给大家分享一下如何在Window平台上通过WorkStation(安装在Ubuntu的系统上)来在Window系统上面自动...

chef之cookbook入门简明手册

本手册基于markdown编写,因为论坛不能删除markdown文件,压缩后,由不方便故这里上传生成后的pdf(),令附上,markdown内容,方便大家自行修改编辑 =============...

chef的自述

Chef 官方下载的地址 https://downloads.chef.io/ Chef是面对IT专业人员的一款配置管理和自动化工具,它可以配置和管理你的基础设施。 下面是我们将要在本篇中...

[9]DevOps 自动化运维工具Chef---如何解决在Window平台上执行一些knife子命令时所报的错误, knife search, knife status?

有的时候,我们需要window平台上执行一些knife子命令,比如,knife status --run-list 查看运行的run list的状态,knife search '*:*' -i 搜索所...

[14] DevOps 自动化运维工具Chef----如何用Chef调用PowerShell DSC的Resource

上一个章节讲述了如何用Chef-apply运行本地的一个chef的菜谱,这节笔者主要与大家分享如何把Chef和PowerShell DSC集成起来;我们知道,PowerShell在管理WIndow的机...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[1] DevOps 自动化运维工具Chef----入门
举报原因:
原因补充:

(最多只允许输入30个字)