最近在学习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的安装还是有区别的。具体安装请读者参考后续文章。



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐