Overview

Puppet is centralized pulling automation software which allows you to automate various of steps with a single software like:

Installation of a Package

Creation of a user

Storage Management

Others

Puppet is composed by two components:

Master

Slave/Agent

In a nutshell, the Agent is trying to pull the necessary steps from the master, each couple seconds. It is important to note that, the master doesn't push anything, the Agent is the one pulling the task to be done on itself.

Repo Configuration

To install it, we have to configure the Repo and install the server & agent for the master and the agent for the slave.

Please configure the following on both machines:

Configure Repo

After you have the repo configured, let's configure each server, we will start with the master:

Configure Master

Install Puppet Server

That will install both, the server and the agent, we can start the service as follows:

Start the pupept Server

Nice, we have a working default server. Let's configure the agent, we will return to the master in a second. As stated before, the agent is the one pulling the requests from the master, but before it can do that, the connection between them NEEDS to be secure. Secure in the IT world means, certificates, so let's check what certificates the Master has:

Check Master Certificates

So we see that the master has his own certificate and that is that. But for the agent to work, we need the agent to send his certificate to be signed by the master. So let's setup the agent.

Configure Agent

We will simple install the agent and do little magic.

Install the agent

After we have installed it, we have to modify the puppet.conf file (e.g./etc/puppetlabs/puppet/puppet.conf)

Edit Puppet Agent Conf

Once done, we can start the agent as follows:

Start Puppet Agent

So let's return to the Master and see how he is doing.

Sign Certificate

Since the agent started (and hopefully not mistakes) the master should've received the certificate (from the agent) to approve:

Check Certificate Requests

Now, we have 2 certiciates :), so let's approve our agent.

Sign Certificate

From now on, we will have trusted connection between the Agent/Slave and the Master.

Verification

We can verify the connection and the pull from the Agent as follows:

Pull latest Changes