Distributing Puppet manifests
So far in this book we've only applied Puppet manifests to one node, using puppet apply
with a local copy of the manifest. To manage several nodes at once, we need to distribute the Puppet manifests to each node so that they can be applied.
There are several ways to do this, and as we saw in Chapter 1, Getting started with Puppet, one approach is to use the agent/master architecture, where a central Puppet master server compiles your manifests and distributes the catalog (the desired node state) to all nodes.
Another way to use Puppet is to do without the master server altogether, and use Git to distribute manifests to client nodes, which then runs puppet apply
to update their configuration. This stand-alone Puppet architecture doesn't require a dedicated Puppet master server, and there's no single point of failure.
Both agent/master and stand-alone architectures are officially supported by Puppet, and it's possible to change from one to the...