Puppet® Configuration and Administration

Puppet® Configuration and Administration


This course is for Unix/Linux systems administrators looking to automate their infrastructure.  It covers all the topics necessary for you to be totally au fait with the product and as it is delivered as a single seamless course it is considerably cheaper and one day shorter than other courses.


Delegates should be experienced Unix/Linux systems administrators with some scripting knowledge (bash, sh, ksh, Perl or Python) and a broad understanding of the various system tasks relating to setting up and supporting Unix/Linux systems.

Knowledge of Ruby is not essential to see this product in action, since Ruby is only required to extend the current Puppet® system.


5 days. Hands on.

Course Objectives

Puppet® is an open source (with a commercial version aimed at the Enterprise market) systems management tool which provides a centralised configuration for all your UNIX, Linux and Apple systems, even on the other side of your firewall. What makes it different is that it speaks the local language of your target hosts allowing Puppet® to define tasks with generic instructions. These are called recipes and are so portable that they can be shared on the Puppet® website and used by all.

Puppet® is also flexible; being open source you can alter the code to suit your circumstances, and it's extensible. We will show you just how easy it is to add and amend functions.

Finally, it is better than most configuration tools because Puppet® uses Facter, which allows you to query host information and define custom facts on a host which can be used as variables by the Puppet® system.

This course is aimed at showing you how to set up and configure Puppet® and how to make the most of it, be it the open source or the enterprise version. As well as looking at the core features of Puppet®, including its configuration language, we will also provide you with a chance to go through a configuration of your own and manage a couple of nodes.

On completion delegates will understand what Puppet® can do and be able to:

  • Install and configure Puppet® servers and clients
  • Create and modify manifests
  • Modularise configurations
  • Use templates for file creation
  • Use the Puppet® file server
  • Generate reports
  • Extend Puppet's® abstraction layer

The course is comprised of lecture content and lab practicals. All sections contain exercises to help understand what you have just covered. Toward the end of the course a workshop will help you fully utilise the knowledge acquired up to that point to set up two or three clients and a Puppet® master.

Course Content

Introduction to Puppet®
Defining what Puppet® is and does
Terminology and structure
References to online resources

What is required to install Puppet®
Dependencies and order of installation
Checking Puppet® works
Steps to run before starting the master

Starting Puppet®
Command line options
Files related to start up
File locations
Minimum configuration to make Puppet® start
Starting the server and clients
Working with certificates

Configuring the Server
Puppet's® configuration files
Understanding the different sections
What the values mean
A simple manifest

Understand what a resource is
Define and create resources using various types
Apply to hosts in the network or all
Work with system variables using Facter
Define a Puppet® file server

Understand classes and how they work
Applying them
Understand the rules of inheritance
Work with variables

Understand and use the various constructs for decision making in Puppet®
Use virtual resources

Understand the different types of functions within Puppet® and their uses
Find out where to keep up to date on new functions

Tags, Templates and Modules
Use tags, templates and modules to manage your infrastructure
Creating templates for varying file data of particular format

Environments and Stored Configurations
Understand the default environments provided by Puppet®
Defining and using your own environments
Working with stored configurations

Language Patterns and Reporting
Install and work with the Puppet® dashboard
rrd graphing
custom reporting

Best Practices
Enhancing the open source version to suit your enterprise
Work with other systems containing host information
Add custom facts to facter
Create and use types and providers
Ideas for best design and security of Puppet® configurations

Puppet® Enterprise
Understand the differences between the open source and enterprise versions
Install and configure the Enterprise version of Puppet®
Manage systems with the web interface

Working with MCollective to control and manage your Puppet® environment and nodes
Security configurations
Use of the web live management interface

Integrating Hiera into Puppet®
Empower your definitions to work with variable data provided through the Hiera data structure
Install, configure and create Hiera data to integrate with Puppet®

Putting Puppet® through its paces and how to configure some agent nodes to configure:
We will also take a look at how you can install and start Puppet® from Kickstart enabling your entire enterprise from the install with minimal touch.


Verhoef Training's Puppet® Courses have been independently developed and are not affiliated with, endorsed or sponsored by, or being offered in partnership with Puppet Labs.

Puppet® is a registered trade mark of Puppet Labs.

Virtual Courses

ALL of our courses can be delivered virtually. And our Bath public schedule of courses are now available as live virtual sessions, using the popular Zoom Virtual Classroom and remote labs. Delegates can test their access at: www.zoom.us/test

Public Courses

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...