Forge Home

pe_xl

Profile classes used to deploy an at-scale Puppet Enterprise architecture

7,277 downloads

4,096 latest version

4.8 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.2.3 (latest)
  • 0.2.2
  • 0.2.1
  • 0.1.1
  • 0.1.0
released Jul 12th 2019
This version is compatible with:
  • Puppet Enterprise 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x
  • Puppet >=5.3.0
  • ,
This module has been deprecated by its author since Nov 15th 2019.

The reason given was: This module has been renamed puppetlabs/peadm. Available at https://github.com/puppetlabs/puppetlabs-peadm

Tasks:
  • agent_install
  • agent_upgrade
  • code_manager
  • configure_node_groups
  • divert_code_manager
  • download
  • enable_replica
  • and 9 more. See all tasks
Plans:
  • pe_xl
  • configure
  • install
  • upgrade

Start using this module

Documentation

reidmv/pe_xl — version 0.1.1 Jul 12th 2019

Puppet Enterprise Extra Large

This Puppet module contains profile classes used to deploy an at-scale Puppet Enterprise architecture.

It SHOULD contain instructions for how to set that all up, too. Right now it doesn't. Big To-do.

Note pending more detailed instructions:

  • This deployment depends on and assumes the use of trusted facts. Specifically, pp_role and pp_environment.
  • This deployment assumes that at least for PE infrastructure nodes, Puppet certnames are correct, resolvable FQDNs.
  • This deployment assumes the control repository to manage PE is independent of the normal "customer" control-repo.

Documentation

See this README file and any documents in the documentation directory.

Architecture

architecture

Installation

These are just sketched out instructions right now. It's likely there are big gaps still.

Prepare the Control Repositories

You'll need two control repositories configured. One dedicated to managing Puppet Enterprise nodes (consider it kinda like an appliance), and another for your regular Puppet code used to manage your infrastructure.

Installing the Primary Master

  1. Download and extract the Puppet Enterprise installer

  2. Place the csr_attributes.yaml file from installer/primary-master in /etc/puppetlabs/puppet/csr_attributes.yaml

  3. Place the pe.conf file from installer/primary-master in the working directory, and edit it to fill in required values

  4. Run the installer, passing the appropriate flags to use the prepared pe.conf file

  5. Set up the ssh private keys needed to access the configured control repositories

  6. For each environment configured (however many you want to initially deploy), run e.g.

    puppet code deploy production --wait
    puppet code deploy pe_production --wait
    
  7. Using the same list of environments deployed above, run e.g.

    puppet apply --environment pe_production --exec '
      class { "pe_xl::node_manager":
        environments => ["production", "pe_production"],
      }
    '
    
  8. Perform the PuppetDB Database installation (described below)

  9. Run puppet agent -t

Installing the PuppetDB Database

  1. Download and extract the Puppet Enterprise installer
  2. Place the csr_attributes.yaml file from installer/puppetdb-database in /etc/puppetlabs/puppet/csr_attributes.yaml
  3. Place the pe.conf file from installer/puppetdb-database in the working directory, and edit it to fill in required values
  4. Run the installer, passing the appropriate flags to use the prepared pe.conf file
  5. Finish the Primary Master installation (described above)
  6. Run puppet agent -t

Installing a Compile Master

curl -k https://primary-master.example.com:8140/packages/current/install.bash | sudo bash -s \
  main:certname=<certname> \
  extension_requests:pp_role="pe_xl::compile_master" \
  extension_requests:pp_environment="pe_production"