Over the years of consulting with Puppet, I've had the pleasure of seeing quite a number of different configurations and setups from multiple clients. I've seen small environments, large environments, and everything in between. For some years now, Puppet Labs has put out a wonderful reference architecture for building a "Large Environment Installation" or LEI.
In this series, we'll walk through a full Puppet Enterprise split installation step-by-step — from the initial install through adding compilers, configuring ActiveMQ hubs and spokes, setting up GitLab for code management, and finally configuring Code Manager for deployment workflows.
Why Scale Puppet Enterprise?
As your infrastructure grows, a single monolithic Puppet master becomes a bottleneck. Catalog compilation, certificate signing, file serving, and report processing all compete for the same resources. Puppet's Large Environment Installation splits these responsibilities across multiple nodes:
- CA/Master of Masters (MoM) — Certificate authority and primary configuration server
- PuppetDB — Centralized storage for node data, catalogs, and reports
- Console — Web-based management interface
- Compilers — Additional catalog compilation capacity
- ActiveMQ Hub/Spokes — Scaled MCollective messaging
Series Overview
- Part I — Introduction (this article)
- Part II — Installation
- Part IIIa — Additional Compilers
- Part IIIb — Additional Compilers (continued)
- Part IV — ActiveMQ Hub and Spokes
- Part V — GitLab
- Part VI — Code Manager