Automation Murmurings

Menu
Menu

Puppet Enterprise – Installation

Posted on April 27, 2020November 24, 2020 by Werner

Why PE?

As far as possible, I try to use Puppet Enterprise. The GUI is incredibly useful. It provides for example the ability to trigger tasks and plans directly from the GUI.

This is incredibly useful for all teams, small to enterprise.

The other built-in benefit of PE is that it comes with PuppetDB in the can. It is absolutely possible to install PuppetDB and use that with Katello or even the open source version of Puppet, as PuppetDB itself is also open source.
One of the biggest beneft of PuppetDB for me, is the fact that one can use exported resources and configure another host based on fact from any host.

Download the installation binary

The best way to get the binary, is going through their site: https://puppet.com/try-puppet/puppet-enterprise

If you need to deploy via a script, or due to preference, you can get the binary directly from curl.

Set a few variables to make things easy:

On Ubuntu 18.04:

dist="ubuntu"
rel="18.04"
arch="amd64"

Or, for CentOS / RHEL

dist="el"
rel="7"
arch="x86_64"
version="latest"

Use the above variables for the below:

$ platform="${dist}-${rel}-${arch}"
$ filename="puppet-enterprise-${version}-${platform}.tar.gz"
$ url="https://pm.puppet.com/cgi-bin/download.cgi?arch=${arch}&dist=${dist}&rel=${rel}&ver=${version}"

$ curl -v -L -o ${filename} "${url}"

The actual installation

Next up, import the Puppet public key:

wget -O - https://downloads.puppetlabs.com/puppet-gpg-signing-key.pub | gpg --import

I generally prefer the text-based install, as I don’t always have firewall-free access to port 3000 of the host. As a result, I will go through the text-based installer.

First, unpack the installer you downloaded

tar -xf <TARBALL_FILENAME>

From inside the installer directory, execute the installer binary

sudo ./puppet-enterprise-installer 

Select text-mode when prompted.

Specify your required installation parameters.

Once the install is done, run the puppet agent as many times as is required until there are no more changes, normally around twice.

sudo puppet agent -t

If the environment can’t find the puppet binary, either close and re-open a terminal, or specify the full path to the puppet binary.

That is it! You now have a working PE installation.

Next step will be to set the installation up for CI/CD code deployment, either via r10k, in which case you can use the post about Katello CI https://linuxadmin.co.nz/index.php/2019/09/12/configure-your-puppet-environment-for-auto-deployment-of-puppet-code/

Or, you can use the PE version called code-manager. Code manager is basically a wrapper around r10k, but does make some things easier and integration is generally easier; but I’ll cover that in a future post!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Encrypting secrets for use by Puppet
  • Automate code deployment in Puppet Enterprise via code manager
  • Puppet Enterprise – Installation
  • Find details of runaway user
  • Using r10k to automate deployment of Puppet code.

Recent Comments

    Archives

    • November 2020
    • October 2020
    • April 2020
    • November 2019
    • September 2019
    • August 2019

    Categories

    • Katello
    • Puppet
    • Uncategorized

    Meta

    • Register
    • Log in
    • Entries feed
    • Comments feed
    • WordPress.org
    ©2021 Automation Murmurings | WordPress Theme by Superbthemes.com