配置管理工具puppet与chef对比分析

2019-03-27 01:07|来源: 网路

配置管理工具puppet与chef对比分析_李小红_新浪博客

配置管理工具puppet与chef对比分析

(2011-05-23 14:33:19)

puppet与chef对比



首先说说相同点:



1、都是基于ruby语言

2、对要配置的对象提供了跨平台的抽象,用户大部分时间只跟这些抽象的资源打交道,而不用关心实现,如只需关心要添加什么软件或用户,不需要关心这些用户或软件是怎么添加上去的

 

3、都有配置中心服务器,在每台要配置的客户端上都需要安装客户端,客户端跟服务器端用证书认证

4、配置应用过程都有两个阶段,第一个阶段在配置中心进行,由配置中收服务器针对客户端生成资源列表,第二个阶段在客户端运行,将应用收到的资源列表。

5、都提供了扩展的方式,puppet用的是模块的方式,而chef用的是cookbook的方式。虽然感觉(我没有真正用过chef)chef的cookbook方式更灵活和易于分享,但是这两者实质是一样的



再说说不同点:

1、puppet提供的配置语言更通用和高级一些,用户不需要懂ruby语言。而对于chef,没有专门的配置语言,用户需要了解比较多的ruby语言。

2、puppet资源之间有显式的依赖关系,按照这些关系去实现,而跟这些资源在配置文件的位置或前后没有关系。而看了一下chef的一些例子,更像是ruby脚本,从前到后按顺序执行

3、puppet安装简单,需要的支持软件也少,服务器端也是这样。而chef在配置中心服务器端需要依赖软件比较多,需要couchdb、RabbitMQ和Solr,这样连带需要安装java和erlang,这样配置服务器过程要复杂很多

4、puppet服务端的配置都是一个一个的文本文件,这样易于发布、备份和扩展。而chef的服务器端的配置放在couchdb和solr索引等二进制文件中,通过远程命令工具knife来操作这些配置。这样,puppet更符合unix管理员的使用习惯。

5、puppet的用户很多,象Google、Redhat等大公司都在用它。而chef的用户就少多了,而且没有什么大的公司



最后,我感觉chef从puppet身上学到或借用了很多有用的概念,但是没有什么超越的地方。而puppet比以前的cfengine工具多出了很多的亮点,这也是我愿意从一个cfengine用户转到puppet用户的原因。但是,如果让我从puppet往chef上转,确实缺少动力。chef可能更适合专业用户,用在云计算这种需要更多定制的场合,只是不知道有没有合适的生态环境让它长那么大。呵呵。


转自:http://www.cnblogs.com/lexus/archive/2012/03/14/2395252

相关问答

更多
  • 1. Induction Induction是一款用于理解数据关系的开源管理工具,它可用来探索行/列,运行查询和数据可视化等方面。该工具支持多种数据库,包括PostgreSQL,MySQL,SQLite,Redis以及MongoDB。此外,Induction还可以通过编写添加其他新的适配器。 2. Pinba Pinba 是一种MySQL存储引擎,用于PHP实时监控和数据服务器的MySQL只读接口。它整理并处理通过UDP发送的数据,并以可读的简单报告的形式统计显示多个PHP进程。为了获取下一代更为复杂的报告 ...
  • 他有个文本文件 在那里面编辑好对应的数据库 如果你不会的话 可以找我 百度HI我也可以的
  • navicat,我所用的过工具当中最好用的mysql管理工具 中文免费版 http://www.navicat.net.cn/index.html
  • 配置管理要了解一般服务器的安装配置管理 基本要了解的工具有cvs svn clearcase vss其中一种或者多种 工具要熟悉具体的使用方法,每个工具你可以上网搜索它们各自的资料网上很多 配置管理员一般都是跟项目的配置管理工作,建立配置库,管理权限,发布基线,有些公司还需要配置管理员完成集成发布软件的工作 有一些高级的软件公司还需要配置管理员能做配置管理工具的二次开发
  • 免费的有MySQL Workbench Community Edition(社区版) 收费的有SQLyog
  • 推荐两款:1、MySQLWorkbenchMySQLWorkbench是一款图形化的数据库设计工具,它在一个开发环境中集成了SQL的开发,管理,数据库设计,创建以及维护。它是fabFORCE.net旗下DBDesigner4的继承者,并替代了MySQLGUIToolsBundle。最早版本是5.0,是为了强调MySQLWorkbench是作为DBDesigner4的继承者被开发出来的事实。2、Navicat:用于MySQL的Navicat既是一个数据库管理器同时还是一个开发工具。它适用于从3.21以上的任何 ...
  • 这是一个数据库管理的程序·可以新建 删除 修改数据库等·一般是安装MYSQL后··登录Phpmyadmin 选择你MYSQL安装时候的密码·账户为root
  • 1. Induction Induction是一款用于理解数据关系的开源管理工具,它可用来探索行/列,运行查询和数据可视化等方面。该工具支持多种数据库,包括PostgreSQL,MySQL,SQLite,Redis以及MongoDB。此外,Induction还可以通过编写添加其他新的适配器。 2. Pinba Pinba 是一种MySQL存储引擎,用于PHP实时监控和数据服务器的MySQL只读接口。它整理并处理通过UDP发送的数据,并以可读的简单报告的形式统计显示多个PHP进程。为了获取下一代更为复杂的报告 ...
  • 我第二次jpmens。 这是Ansible中的一个非常基本的问题,也是开始使用文档,教程和示例剧本的一种非常好的方法。 但是,如果你遇到困难或匆忙,你可以像这样解决这个问题(一切都发生在“ansible master”): 创建一个这样的角色结构: cd your_playbooks_directory mkdir -p roles/pi/{templates,tasks,vars} 现在创建角色/ pi / tasks / main.yml: - name: Adds resolv.conf tem ...