July 19, 2023

Get Started with Puppet: A Tutorial for First-Timers

How to & Use Cases
Products & Services

So you’re ready to get started with Puppet and you don’t know where to begin. That’s alright – this short, easy Puppet tutorial will help you get started with Puppet Enterprise. 

This tutorial blog walks through the first few steps you'll need to take to get Puppet Enterprise up and running so you can start automating your organization's IT infrastructure. 

Table of Contents 

Get Started with Puppet: Tutorial, Tips, and Requirements 

To get started with Puppet Enterprise, you need the Puppet Enterprise installer — you can also use PEADM to automate this process and download and run the installer for you. You’ll also need a Linux machine (physical or virtual) that meets the system requirements to be your Puppet server, and enough CPUs and memory allocated to your Puppet server. - you can also use or the PECDM Puppet Enterprise (pe) Cloud Deployment Module (cdm) to automate the provisioning of virtual machines in cloud. 

Additionally, here are some helpful links for getting started with Puppet Enterprise: 

Most recently, automating the installation of Puppet Enterprise can save you time and make the process run smoothly — that’s where PEADM, or the Puppet Enterprise (pe) Cloud Deployment Module (cdm), comes in.

Tutorial: How to Stand Up Your Puppet Server 

First things first, you’ve got to decide where your machines are coming from. Will you be running VMs from vRA or VirtualBox? Maybe you’ll need to request a VM from your networking team. Or you can use PEDCM with your cloud provider. Regardless of how you’re running your VMs, installation will be the same. 

Download Puppet Enterprise 

Once you have access to a Linux machine capable of running Puppet, you can download Puppet Enterprise to it or use PEADM to automate the process. Make sure you’ve met all the hardware requirements before you go down this road. You’ll want to make sure you have enough CPUs and memory allocated for the Puppet server. 

If you aren’t using PEADM or PECDM to automate your download and installation, you’ll want to follow these steps. 

Head over to the Puppet Enterprise download link again and select the correct download for your OS. You should notice that there are multiple tabs and that the page you’re on also has the links for downloading agents and the Puppet Client Tools. You’ll need to select the OS you need and the download will begin. 

  1. Untar the Tarball from the Command Line 
  2. When it’s complete, you’ll want to untar the tarball from the command line. For more detailed steps, consult the installation documentation over on Docs. 
  3. Execute the Puppet Installer Script 

After completing these tasks, you’ll need to run the installer script. It’s in the Puppet Enterprise directory, where you’ll also find the uninstaller script. After it executes, it will prompt you on how you want to run the installation. You can run the installation in text mode or in the browser. I’d recommend the browser option. 

(This is a good time to mention that you’ll need to make sure the proper ports are open, and that firewalld is disabled. That is, of course, unless you are using PECDM — this will set up your clod firewall rules automatically.)

Running through the browser installation, you’ll be prompted to answer questions about your system and deployment, or you will need to fill out the param.json file for PEADM/PECDM. Be sure to have information about the machine’s fully qualified domain name, and a password. Once you’ve made those selections, you can trigger the installation process, which allows you to view the logs so you can see what’s happening on the backend. 

Once the installation is complete, select the “Start using Puppet Enterprise” button, which will take you to your Puppet Overview page in the Puppet console. Log in with your user credentials and you’re now ready to install some agents. PECDM will let you know the console web address on the command line. 

Tutorial: How to Install Puppet Agents 

In order to install a Puppet agent for Linux, you’ll grab the curl command that’s available in the console view. If you are using PECDM, it can create and ad clients in the cloud for you. If not, go to the Nodes tab on the far left sidebar, then select the Unsigned Certificates section. Copy and paste that command into the command line of the system you wish to have a Puppet agent installed. 

Once again, you’ll want to make sure that you’ve SSH’d into the agent, and that you have root access. After you run that command, make sure the /etc/hosts or /etc/known_hosts file has the server's FQDN, IP address and any aliases that are being used. When you’ve completed those checks, run Puppet. The command for doing this is puppet agent -t. 

Puppet on-demand training is free to start, and instructor-led courses help you go Puppet pro with live learning. Register today >> 

After the run is complete, go back to the Unsigned Certificates page and hit refresh. You should see that there’s a cert to accept. Accept it and you’re ready to go! For Windows machines, follow the hyperlink that provides instructions on using the single line command for PowerShell.

Get Started Automating Jobs with Puppet 

Now that you’ve completed the installation of your agents with the help of this Puppet tutorial, it’s time to manage some resources! I also advise folks get going on a resource like NTP. Anything that’s foundational to your work and needs consistent managing is a good place to add value with Puppet. The Puppet Forge has tons of modules that can help you get started. 

You’ll want to make sure you read over the docs on using classification, as well as how grouping and classifying nodes work. Armed with that information, you’ll be ready to tackle a few tasks with Forge modules and the Puppet console. 

Once you feel good about the workflow above, start incorporating Puppet jobs into the mix. Being able to modify resources and create Puppet jobs that occur across your environment is a powerful capability that enhances the benefits of Puppet Enterprise. 

This blog was originally published on October 5, 2017 and has since been updated for accuracy and relevance. 

Learn more