How do doll components work with each other?

I am using open source Puppet.

I found that Puppet 3.7.5 has several components:

  • puppet master
  • puppet agent
  • MCollective
  • Hiera
  • PuppetDB

But I don't know how they cooperate with each other. I have seen a simple architecture that only includes a puppet master and a puppet agent.

As for the other components, I don't know how they interact. Can anyone give me details on how they interact or some kind of data flow graph?

+3


source to share


1 answer


Full Disclosure I work for PuppetLabs!

Basic breakdown of figures:

  • puppet agent

The Puppet agent on each node sends facts about the node configuration - a detailed description of the hardware, operating system, package versions and other information - to the Puppet master. Basically this will start by starting Puppet every n

minutes (default 30) and then reporting the changes to the master.

  • puppet master

The Puppet Master uses the facts provided by the agents to compile the details of how each node should be configured - called a directory - and sends it back to the Puppet agent.

  • MCollective

MCollective is a Puppet orchestration tool primarily used to programmatically perform actions on server clusters. Think Fabric, Capistrano, etc., but much higher level. More details here



  • Hiera

Hiera is a hierarchical key / value store for Puppet. This allows you to resolve separation of concerns by storing data in Hiera and code in a puppet. More details here

  • PuppetDB

PuppetDB is a data store that caches data generated by Puppet and allows you to consume that data using an API.

Here's a diagram of how they all fit together in the Enterprise Edition: Puppet Architecture Diagram

OSS will not have a console, but most of it applies to the OSS release as well. More details here .

For further questions, there are tons of documentation , IRC numbers, and study materials .

+10


source







All Articles