ansible和puppet的区别

本文概述

  • Ansible
  • Puppet
Ansible和Puppet正在迅速成为管理大量服务器的必备组件。它们通常称为配置管理和远程执行工具。
这些超级有用的应用程序使管理员可以同时在多台服务器上执行操作,并且只需单击一下即可部署多个应用程序。它使配置和维护数千台服务器变得更加容易。在继续前,先看一下Ansible和Puppet。
AnsibleAnsible是一个开源IT引擎,可自动执行应用程序部署,云配置,内部服务编排和其他IT工具。
Ansible易于部署,因为它在客户端不使用任何代理程序或自定义安全性基础结构,而无需通过将模块推送到客户端。这些模块在客户端本地执行,并将输出推回Ansible服务器。
它可以使用SSH密钥轻松连接到客户端,从而简化了整个过程。客户端详细信息(例如主机名或IP地址和SSH端口)存储在文件中,这些文件称为清单文件。如果你创建并填充了清单文件,则Ansible可以使用它。
Ansible使用剧本来描述自动化工作,使用剧本来使用简单的语言,即YAML。 YAML是一种人类可读的数据序列化语言
一个重要的优点是,即使是IT基础结构支持人员也可以阅读和理解该手册,并在需要时进行调试。
Ansible专为多层部署而设计。 Ansible不会一次管理一个系统,而是通过描述所有系统相互关联来对IT基础架构进行建模。 Ansible完全没有代理,这意味着Ansible通过SSH(默认情况下)连接节点来工作。如果你需要其他连接方法(例如Kerberos),Ansible将为你提供选择。
Puppet【ansible和puppet的区别】Puppet是一种配置管理工具,用于配置,部署和管理服务器。它还执行以下功能,例如:
  • 它为每个主机定义了不同的配置,并且它不断检查并确认所需的配置,例如是否已在主机上更改了该配置。 (如果更改,它们将还原为所需的配置)。
  • 动态放大和缩小机器。
  • 它提供了对所有已配置计算机的控制,因此集中式更改会自动传播到所有计算机。
Puppet使用主从结构,其中主服务器和从服务器在SSL的帮助下通过安全的加密通道进行通信。
以下是Ansible和Puppet之间的一些主要区别:
参量AnsiblePuppet
AvailabilityAnsible使用单个活动节点(称为主实例)运行。如果主节点出现故障, 则将有一个辅助实例代替。Puppet具有多主控体系结构。如果活动主控出现故障, 则另一个主控将取代活动主控。
Easy to setupAnsible仅在服务器计算机上运行一个主服务器, 而在客户端计算机上未运行任何代理。它使用SSH连接登录到客户端系统或要配置的节点。客户端计算机VM不需要唯一的设置。这就是为什么设置更快!Puppet还具有主代理架构。 Puppet服务器在主计算机上运行, ??Puppet客户端在客户端计算机上作为代理运行。在那之后, 代理与主服务器之间将有一个证书签名。这就是为什么它不那么容易设置的原因。
Management使用YAML(又一种标记语言), 易于管理配置。服务器将配置推送到所有节点。适用于实时应用, 并且可以立即进行远程执行。Puppet使用其称为Puppet DSL的语言来管理配置并不容易。客户端从服务器提取配置。它完全面向系统管理员, 并且存在非立即的远程执行。
Configuration languageAnsible使用YAML(Python)。它很容易学习, 并且是面向管理员的。 Python已内置在大多数Unix和Linux部署中, 因此设置和运行该工具的速度更快。Puppet使用其Puppet域特定语言(Puppet DSL)。它不容易学习, 而且是面向系统管理员的。
InteroperabilityAnsible服务器必须在Linux / Unix计算机上。以及Ansible支持Windows机器。Puppet Master仅在Linux / Unix上工作, 而Puppet Agent在Windows上也工作。
Pricing对于最多100个节点的标准IT运营, Ansible Tower的定价为每年10, 000美元。其中包括8 * 5支持, 而高级版提供24 * 7支持, 每年费用为$ 14000。Puppet的价格从标准支持计划的每年112美元节点到高级计划的每年199美元节点不等。
GUIAnsible仅在启动时才是命令行工具。现在, 它具有企业版中的UI, 但并不完美。有时, GUI不能与命令行完美同步, 并且无法执行类似命令行界面的操作。Puppet的图形用户界面比Ansible更具交互性。它用于管理, 查看和监视更复杂的任务。否则, 在需要时也可以选择使用Ruby编写的命令行界面。

    推荐阅读