我正在使用 Puppet 开源版本。
我发现 Puppet 3.7.5 中有几个组件:
- 木偶大师
- 傀儡代理
- M集体
- 希拉
- 木偶数据库
但我不知道他们是如何相互合作的。我见过一个简单的架构,它只包括 puppet-master 和 puppet-agent。
至于其他组件,我不知道他们是如何配合的。谁能给我有关他们如何合作或任何数据流图的详细信息?
我正在使用 Puppet 开源版本。
我发现 Puppet 3.7.5 中有几个组件:
但我不知道他们是如何相互合作的。我见过一个简单的架构,它只包括 puppet-master 和 puppet-agent。
至于其他组件,我不知道他们是如何配合的。谁能给我有关他们如何合作或任何数据流图的详细信息?
完全披露我在 PuppetLabs 工作!
碎片的基本分解:
每个节点上的 Puppet 代理将有关节点配置的事实(详细说明硬件、操作系统、软件包版本和其他信息)发送给 Puppet 主控。基本上这将每分钟启动一次 Puppet 运行n
(默认为 30),然后将更改报告给 master。
Puppet master 使用代理提供的事实来编译有关每个节点应如何配置的详细数据(称为目录)并将其发送回 Puppet 代理。
MCollective 是 Puppet 的编排工具,主要用于在服务器集群上以编程方式执行操作。想想 Fabric、Capistrano 等,但水平要高得多。 更多细节在这里
Hiera 是 Puppet 的分层键/值存储。它允许您通过将数据保存在 Hiera 中并将代码保存在 puppet 中来实现关注点分离。 更多细节在这里
PuppetDB 是一个数据仓库,用于缓存 Puppet 生成的数据,并允许您通过 API 来利用该数据。
这是关于它们如何在企业版中组合在一起的图表:
OSS 不会有控制台,但其余大部分也适用于 OSS 版本。在这里阅读更多。