Puppet Bolt 是否具有与 Red Hat Ansible 相同的功能集?

Does Puppet Bolt have the same feature set as Red Hat Ansible?

我昨天在一个会议上与一些人谈论了 Puppet Lab 的 Bolt 1.0。我试图弄清楚这些工具是否可以与 Ansible 相媲美,但可以利用所有已经存在的 puppet 模块,或者它是否在其他方面有所不同。

我对这两种工具都不太熟悉,希望比那更有知识的人能够解释这两种工具之间的区别。

我可以看到两者都是 agent-less,我认为这是一个加号 - 但我不清楚其他差异以及为什么有人会选择一个而不是另一个。 不是在寻找主观答案 - 而是在寻找两种工具的区别的实际列表

Puppet Bolt 和 RedHat Ansible 都试图解决无代理、push-based 编排和配置管理的相同问题。当然,它们的功能并不完全相同。

我会记住以下几点:

  • A​​nsible是本space(撰写本文时)中的成熟产品,而Bolt是新产品。这样做的结果是您会发现已经为许多任务编写了 Ansible 角色,而在 Bolt 中,您可能会发现更少的代码示例来帮助您完成任务。

  • Bolt 是用 Ruby 编写的,而 Ansible 是用 Python 编写的。 Bolt 使用 Ruby 和 Puppet 的 DSL,而 Ansible 使用 YAML DSL。有些人会根据他们知道 and/or 更喜欢这些语言中的哪一种来选择一种或另一种工具。 (尽管如评论中所述,Bolt Tasks 可以用多种语言编写,并且计划也有 YAML 选项。)

  • 正如您所说,Bolt 允许与 Puppet 配置管理轻松集成,在 Bolt 计划中使用 Puppet 的模块及其 DSL。如果您已经在使用 Puppet,那么 Bolt 是自然的选择。

但我肯定会尝试两者并选择看起来更适合您要解决的实际问题的那个。