木偶,厨师,Ansible,盐

虚拟化的迅速发展,加上行业标准服务器的日益强大和云计算的可用性,导致需要在组织内部和外部管理的服务器数量显著增加。我们曾经在大厅的数据中心使用机架的物理服务器,现在我们必须管理更多的服务器,这些服务器可能分布在全球各地。雷竞技电脑网站

这就是数据中心编排和配置管理雷竞技电脑网站工具发挥作用的地方。在许多情况下,我们管理着一组相同的服务器,运行着相同的应用程序和服务。它们部署在组织内的虚拟化框架上,或者作为云运行,或者托管在远程数据中心中的实例。雷竞技电脑网站在某些情况下,我们可能讨论的是仅支持非常大的应用程序的大型安装,或者支持大量较小服务的大型安装。在任何一种情况下,挥舞魔杖并使他们所有人屈服于管理意愿的能力都不能被忽视。这是管理这些大型且不断增长的基础设施的唯一方法。

木偶,厨师,Ansible均建与非常进球记:使它更配置更容易和维护几十,几百,或服务器甚至上千。这并不是说,小商店将不会从这些工具中受益,如自动化和编排通常使生活更轻松在任何规模的基础设施。

我看着每一个深入这四个工具,探索他们的设计和功能,并确定,而一些得分高于其他人,有一个地方,每到适应,取决于部署的目标。在这里,我总结我的发现。

木偶的企业

木偶可以说是这四个人中思想最丰富的。就可用的操作、模块和用户界面而言,它是最完整的。Puppet代表了数据中心编排的整个画面,包含了几乎所有的操作系统,并为主要操雷竞技电脑网站作系统提供了深入的工具。初始设置相对简单,需要在要管理的每个系统上安装主服务器和客户机代理。

从那里,CLI(命令行接口)是直接的,从而允许模块下载和安装通过木偶命令。然后,对配置文件的更改都需要量身定制了所需的任务模块,并应接收指令会这么做时,他们与主或通过推,将立即触发修改检查的客户端。

还有一些模块可以提供和配置云服务器实例和虚拟服务器实例。所有模块和配置都是使用基于Ruby(或Ruby本身)的特定于puppet的语言构建的,因此除了系统管理技能外,还需要编程专业知识。

Puppet Enterprise拥有最完整的Web UI,允许使用主服务器上预先构建的模块和菜谱实时控制托管节点。Web UI在管理方面工作得很好,但不允许对模块进行太多配置。报告工具非常完善,提供了特工行为的详细信息,以及发生了哪些变化。

企业的厨师

就总体概念而言,Chef与Puppet类似,在托管节点上安装了主服务器和代理,但在实际部署上有所不同。除了主服务器之外,Chef安装还需要一个工作站来控制主服务器。可以使用使用SSH进行部署的knife工具从工作站上安装代理,从而减轻安装负担。此后,托管节点通过使用证书与主服务器进行身份验证。

厨师的配置都是围绕着Git的,所以Git是如何工作的知识是厨师操作的先决条件。像木偶,主厨基于Ruby,所以还需要红宝石的知识。如同木偶,模块可以被下载或从头开始编写,并部署到管理节点以下所需的配置。

不同于木偶,厨师还没有一个结构良好的推送功能,虽然测试代码是可用的。代理商需要这种方式进行配置与定期师傅来检查和改变的直接的应用是不是真的有可能。

Enterprise Chef的Web UI是功能性的,但是不提供修改配置的能力。它不像Puppet Enterprise的Web UI那样完整,缺乏报告和其他特性,但允许库存控制和节点组织。

像Puppet一样,Chef从大量模块和配置菜谱中获益,而这些都严重依赖于Ruby。因此,Chef非常适合以开发为中心的基础设施。

AnsibleWorks Ansible

Ansible是远远超过要么木偶或厨师更类似于盐。Ansible的重点是简化和快速,并且不需要节点代理安装。因此,Ansible通过SSH执行所有功能。Ansible是建立在Python的,而相比之下,木偶和厨师的Ruby的基础。

Ansible的安装可以通过Git存储库克隆到Ansible主服务器。接下来,要管理的节点被添加到Ansible配置中,SSH授权密钥被附加到每个节点,与Ansible运行的用户相关。一旦完成,Ansible主服务器就可以通过SSH与节点通信,并执行所有需要的任务。对于默认不允许root SSH访问的操作系统或发行版,Ansible接受sudo凭证,以root身份在这些系统上运行命令。

Ansible可以使用的paramiko,一个Python SSH2实现,或者通信标准SSH,但也有一个加速模式,可进行更快,更大规模的交流。

Ansible可以从命令行运行,而不需要使用配置文件执行简单的任务,比如确保服务运行,或者触发更新和重启。对于更复杂的任务,可以通过YAML语法在称为Playbooks的配置文件中进行配置。剧本也可以使用模板来扩展它们的功能。

Ansible具有可用于管理各种系统以及云基础设施,如Amazon EC2上和OpenStack的模块的集合。自Ansible模块可以写在几乎任何语言,只要模块的输出是有效的JSON。

一个Web UI可用于Ansible在AnsibleWorks AWX的形式,但AWX不直接扎入CLI。这意味着,除非同步过程运行中存在的CLI配置元件将不会出现在Web UI。您可以使用包括同步工具,让他们排队,但将需要在计划的基础上运行。在Web UI本身是功能性的,但并不像完整的CLI,所以你会发现自己在一般使用这两个之间的工作,或者只是使用CLI。

SaltStack企业

Salt与Ansible相似之处在于,它是一个基于clion的工具,利用客户端通信的push方法。可以通过Git或主服务器和客户端上的包管理系统安装。客户端会向主服务器发出一个请求,当主服务器接受这个请求时,就允许控制这个小仆。

Salt可以通过一般的SSH与客户机通信,但是通过使用称为minions的客户机代理极大地增强了可伸缩性。此外,Salt还包括一个异步文件服务器,以加快为“小黄人”服务的文件速度,这是Salt关注高可伸缩性的全部内容。

正如Ansible,您可以直接从CLI发出爪牙命令,如启动服务或安装软件包,或者您可以使用YAML配置文件,被称为“国家”,来处理更复杂的任务。也有“支柱”,这是位于市中心的数据集,各国可以在运行时访问。

直接从CLI从爪牙 - 您可以请求的配置信息 - 如内核版本或网络接口的详细信息。爪牙可以通过使用库存元件,所谓的“晶粒”,这可以很容易地发出命令到特定类型的服务器,而不依赖于配置的组划定。例如,在一个单一的CLI方向,您可以指定运行特定内核版本每一个奴才。

像Puppet、Chef和Ansible一样,Salt提供了大量模块来处理特定的软件、操作系统和云服务。可以用Python或PyDSL编写定制模块。Salt确实提供Windows管理和Unix,但更适合Unix和Linux系统。

盐的Web UI,岩盐,是很新的,而不是作为完整的的Web UI的其他系统。它享有事件日志和仆从地位,并具有对爪牙运行命令的能力,但没有别的。这个工具是正在积极发展,并承诺显著改善,但暂时它的裸机和马车。

盐的最大优点是它的可扩展性和弹性。你可以有大师的多层次,从而在一个分层的安排,无论负载分配和增加冗余。上游主控器可控制下游主机及其爪牙。另一个好处是对等系统,让奴才问大师的问题,这样就可以得到来自其他服务器的答案来完成图片。这可以方便的,如果在一个实时数据库,以完成一个马仔的配置被查找数据的需求。

木偶还是厨师?Ansible或盐吗?

Puppet和Chef将吸引开发人员和面向开发的商店,而Salt和Ansible更适合系统管理员的需要。Ansible简单的界面和可用性非常适合“系统管理员”的思维模式,而且在一个有很多Linux和Unix系统的商店里,Ansible运行起来很快,也很容易。

Salt是四款中最流畅、最健壮的,和Ansible一样,它会引起sys管理员的共鸣。Salt具有高度的可伸缩性和强大的能力,但它只受到Web UI的限制。

从可用性的角度来看,Puppet是这四款软件中最成熟的,也可能是最平易近人的,不过强烈建议您具备扎实的Ruby知识。Puppet不像Ansible或Salt那样流线型,它的配置有时会很复杂。Puppet是异构环境中最安全的选择,但是您可能会发现Ansible或Salt更适合更大或更同质的基础设施。

Chef有一个稳定且设计良好的布局,虽然它在原始特性方面还没有达到Puppet的水平,但它是一个非常有能力的解决方案。对于缺乏重要编程经验的管理员来说,Chef可能是最困难的学习曲线,但是对于具有开发头脑的管理员和开发团队来说,它可能是最适合的。

这个故事,“木偶vs大厨vs Ansible vs盐”最初是由信息世界

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对那些顶级心态的话题发表评论。

版权©2013Raybet2

IT薪资调查:结果在