This Puppet module contains Bolt plans used to deploy and manage Puppet Enterprise infrastructure. Plans are provided to automate common lifecycle activities in order to increase velocity and reduce the possibility of human error incurred by manually performing these activities.
The peadm module is able to deploy and manage Puppet Enterprise 2019.x Standard, Large, and Extra Large architectures.
The peadm module is intended to be used only by Puppet Enterprise customers actively working with and being guided by Puppet Customer Success teams—specifically, the Professional Services and Solutions Architecture teams. Puppet Enterprise customers might be advised to begin using this tool after an introduction by their Technical Account manager (TAM) to the Solutions Architecture team or during a Professional Sevices (PS) engagement where the Puppet PS team aids and intructurs in the use of the tool. Independent use is not recommended for production environments without a comprehensive understanding of the peadm module.
The peadm module is a services-led tool that is supported through Puppet Enterprise's standard and premium support.puppet.com service.
The normal usage pattern for peadm is as follows.
- Users set up a Bolt host from which they can run peadm plans. The Bolt host can be any machine that has ssh access to all of the PE nodes.
- Users run the
peadm::install
plan to bootstrap a new PE cluster. Depending on the architecture chosen, peadm may create some node groups in the classifier to set parameters on the built-inpuppet_enterprise
module, tuning it for large or extra large architectures. - Users use and operate their PE cluster as normal. The peadm module is not used again until the next upgrade.
- When it is time to upgrade, users run the
peadm::upgrade
plan from their Bolt host to accelerate and aid in the upgrade process.
- The
peadm::install
plan adds a number of custom OID trusted facts to the certificates of PE infrastructure nodes as it deploys them. These trusted facts are later used by the plans to quickly and correctly identify nodes in particular roles. - Up to four node groups may be created to help configure
puppet_enterprise
class parameters for PE infrastructure roles. The most notable configuration is the designation of compilers as being either "A" or "B" nodes for availability.
- The peadm module is not required to exist or be present outside of the point(s) in time it is used to create a new PE cluster, or upgrade an existing cluster. No new Puppet classes or other persistent content not provided out-of-box by PE itself is applied to PE infrastructure nodes by the peadm module.
- Having used the peadm module to install or to upgrade a PE cluster is not known to affect or curtail the ability to use any normal, documented PE procedures, e.g. failover to a replica, or manual upgrade of a cluster.
- Puppet Enterprise 2019.8.1 or newer (tested with PE 2021.3)
- Bolt 3.17.0 or newer (tested with Bolt 3.17.0)
- EL 7, EL 8, Ubuntu 18.04, or Ubuntu 20.04
- Classifier Data enabled. This PE feature is enabled by default on new installs, but can be disabled by users if they remove the relevant configuration from their global hiera.yaml file. See the PE docs for more information.
Follow the links below to usage instructions for each peadm plan.
Additional documentation and information pertaining to various aspects or elements of peadm.
- DR Component Recovery
- PE Architecture Documentation
- Classification
- Architectures
- Testing
- Docker Based Examples
- If you find bugs with this module, please make use of issues in the project on GitHub
- If you are a Puppet Enterprise (PE) customer that uses peadm to manage a deployment of PE and are currently having an outage or need assistance troubleshooting another issue, e.g. upgrades, contact the Support Team