我正在使用Puppet开源版。
我发现Puppet 3.7.5中有几个组件:
但我不知道他们是如何相互合作的。我见过一个简单的架构,其中只包括puppet-master和puppet-agent。
至于其他组件,我不知道他们是如何合作的。任何人都可以向我提供有关他们如何合作或任何数据流图的详细信息吗?
答案 0 :(得分:10)
完全披露我在PuppetLabs工作!
基本的细分:
每个节点上的Puppet代理向Puppet主机发送有关节点配置的详细信息 - 详细说明硬件,操作系统,软件包版本和其他信息。基本上这将在n
分钟(默认为30分钟)时启动Puppet运行,然后将更改报告给主服务器。
Puppet master使用代理提供的事实来编译有关如何配置每个节点的详细数据 - 称为目录 - 并将其发送回Puppet代理。
MCollective是Puppet的编排工具,主要用于以编程方式在服务器群集上执行操作。 Think Fabric,Capistrano等,但更高层次。 More detail here
Hiera是Puppet的分层键/值存储。它允许您通过在Hiera中保存数据并在puppet中保存代码来实现关注点的分离。 More detail here
PuppetDB是一个数据仓库,用于缓存Puppet生成的数据,并允许您利用API利用该数据。
以下是企业版中它们如何组合在一起的图表:
OSS不具备控制台,但其余大部分也适用于OSS版本。阅读更多here。
如有进一步的问题,那里有documentation,IRC rooms和学习materials。