[Puppet Users] Best practices for infrastructure

Paul Archer
Fri, 23 Aug 2013 16:03:41 -0000

I''m new to puppet, fixin'' to (in Texas parlance) setup a
largish
installation, and want to make sure I get things right the first time.

I have a colo plus several satellite locations, with many more on the way.

I''ll be using open-source Puppet, as we have way too many nodes to
manage
(potentially 275+ at each site) to afford PE.

I''m thinking about setting up a master in the colo with a slaved master
at
each site, following this document:
http://docs.puppetlabs.com/guides/scaling_multiple_masters.html
Each master will run passenger/apache. I''ll have puppetDB running on
the
primary master at the colo (with an eye to moving it to a separate server
if needed). I''ll probably use Subversion (but maybe git) for
synchronization of data among masters.
I''d like to use mcollective and hiera, so those will probably get setup
on
the primary master. (Do I need them on each master?)

One of our sites is a lab, so I''ll be doing testing there.I''ll
need to
setup some kind of dev/test/prod environment system.

I''ll be testing both dashboard and foreman, although I need to do
automated
bare-metal installs, so foreman will probably win out there.

Each site also has around 100 nodes that break and get swapped out
frequently, so (depending on what foreman can do for me in the installation
process) I might need to be relatively lax about certificates to avoid
revoking and regenerating them constantly. (We''re talking 2-3 nodes a
week
getting pulled, worked on, and replaced or reimaged.)


So that''s where I am right now. Any thoughts, suggestions, tips,
how-tos
would be greatly appreciated.


Paul