DevOps 自动化运维工具Chef
Posted 架构师成长营
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps 自动化运维工具Chef相关的知识,希望对你有一定的参考价值。
最近在学习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服务器包含有一个数据库,里面存储有“配方”,“配方”会被打包成独立的“食谱”,代表着运行在客户端的独立组件—比方说Java、WebSphere以及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的安装还是有区别的。具体安装请读者参考后续文章。
以上是关于DevOps 自动化运维工具Chef的主要内容,如果未能解决你的问题,请参考以下文章
自动化运维工具安装部署 chef (四) - node的安装
自动化运维工具安装部署 chef (三) - workstation的安装