Puppet 组件如何相互协作?
How do puppet components cooperate with each other?
我使用的是 Puppet 开源版。
我发现 Puppet 3.7.5 中有几个组件:
- 人偶大师
- 傀儡代理人
- MCollective
- 希拉
- 木偶数据库
但不知道他们是怎么合作的。我见过一个简单的体系结构,它只包括 puppet-master 和 puppet-agent。
至于其他组件,不知道是怎么配合的。谁能给我详细的合作方式或者数据流图吗?
完全公开我在 PuppetLabs 工作!
棋子的基本分类:
- 傀儡代理人
每个节点上的 Puppet 代理向 Puppet 主机发送关于节点配置的事实——详细说明硬件、操作系统、包版本和其他信息。基本上这将每 n
分钟(默认为 30)启动一个 Puppet 运行,然后将更改报告给 master。
- 人偶大师
Puppet master 使用代理提供的事实来编译有关每个节点应如何配置的详细数据(称为目录),并将其发送回 Puppet 代理。
- MCollective
MCollective 是 Puppet 的编排工具,主要用于以编程方式在服务器集群上执行操作。想想 Fabric、Capistrano 等,但级别更高。
More detail here
- 希拉
Hiera 是 Puppet 的分层key/value 商店。它允许您通过将数据保存在 Hiera 中并将代码保存在 Puppet 中来实现关注点分离。
More detail here
- 木偶数据库
PuppetDB 是一个数据仓库,用于缓存 Puppet 生成的数据,并允许您通过 API.
利用该数据
这是一张图表,说明它们如何在企业版中组合在一起:
OSS 不会有控制台,但其余大部分也适用于 OSS 版本。阅读更多 here.
关于进一步的问题,有很多 documentation, IRC rooms and learning materials。
我使用的是 Puppet 开源版。
我发现 Puppet 3.7.5 中有几个组件:
- 人偶大师
- 傀儡代理人
- MCollective
- 希拉
- 木偶数据库
但不知道他们是怎么合作的。我见过一个简单的体系结构,它只包括 puppet-master 和 puppet-agent。
至于其他组件,不知道是怎么配合的。谁能给我详细的合作方式或者数据流图吗?
完全公开我在 PuppetLabs 工作!
棋子的基本分类:
- 傀儡代理人
每个节点上的 Puppet 代理向 Puppet 主机发送关于节点配置的事实——详细说明硬件、操作系统、包版本和其他信息。基本上这将每 n
分钟(默认为 30)启动一个 Puppet 运行,然后将更改报告给 master。
- 人偶大师
Puppet master 使用代理提供的事实来编译有关每个节点应如何配置的详细数据(称为目录),并将其发送回 Puppet 代理。
- MCollective
MCollective 是 Puppet 的编排工具,主要用于以编程方式在服务器集群上执行操作。想想 Fabric、Capistrano 等,但级别更高。 More detail here
- 希拉
Hiera 是 Puppet 的分层key/value 商店。它允许您通过将数据保存在 Hiera 中并将代码保存在 Puppet 中来实现关注点分离。 More detail here
- 木偶数据库
PuppetDB 是一个数据仓库,用于缓存 Puppet 生成的数据,并允许您通过 API.
利用该数据这是一张图表,说明它们如何在企业版中组合在一起:
OSS 不会有控制台,但其余大部分也适用于 OSS 版本。阅读更多 here.
关于进一步的问题,有很多 documentation, IRC rooms and learning materials。