We’re not expecting our installation to vary much from the standard
Puppet installation instructions, but it’s important to make a note of
all decisions made during installation, including details of
hostnames, server specifications etc. so your fellow administrators
have a record of how the platform was created.
Installation will follow documented best practices as closely
as possible.
The Platform
As mentioned in the previous planning section,
there will eventually be two Puppet Enterprise installations; one for
Production and one for Non-Production. We’ll be starting by
installing the Non-Production (NP) platform, and host names will be
suffixed with “-np”.
However the installation method will be the same for both platforms.
The initial Puppet environment will consist of:
1 x Puppet Enterprise Puppet Master with Hiera-based configuration
1 x Puppet Enterprise console server with Cloud Provisioner
1 x PuppetDB server
The PE servers will be VMware guests running CentOS 6. Here are the details:
Hostname
OS
CPU Count
RAM
Disk Capacity
puppetmaster-np.puppetlunch.com
64-bit CentOS 6.4
4
4GB
40GB
puppetconsole-np.puppetlunch.com
64-bit CentOS 6.4
2
4GB
40GB
puppetdb-np.puppetlunch.com
64-bit CentOS 6.4
2
4GB
40GB
Note: Make sure that the system clocks are (roughly) in sync, and all
host names are resolvable in DNS from each host before starting the
installation, otherwise we may run into difficulties. See
the official installation docs for more information.
Also ensure that the iptables firewall is disabled on each host before
starting the installation.
Note: If you prefer to download directly using curl, do this:
On each host, we unpack the tarball into /tmp, cd into the unpacked directory and run the installer script as root:
The installer will ask which roles should be installed. Any answers
given during installation will be recorded in the answer file here:
/etc/puppetlabs/installer/answers.install
To run the installation again using any of the answers below, save
them to a file and run the installer again with the -A option. If any
answers are missing, the installer will prompt for input.
Installing the Master
Installation answerfile for the Non-Prod Puppet Master:
Installation complete:
Installing PuppetDB
Installation answerfile for the Non-Prod PuppetDB:
Installation complete:
Installing PE Console and Cloud Provisioner
Installation answerfile for Console and Cloud Provisioner:
Installation complete:
Logging In To The Console
Once everything’s installed, we’re able to log in to the
Non-Production Puppet Enterprise Console.
Securing The Installation
Database Security
PuppetDB uses (and installs) PostgreSQL. The database should be used
exclusively by PuppetDB. Details on how to secure the installation may
be found here.
As a basic security measure, we’re only allowing database connections
from the local machine, the puppet console and the puppet master. This
is configured in pg_hba.conf: