Configuration Management using Puppet 4

Authors: Ben Piper, Andrew Mallett

Puppet, a popular configuration management suite for Linux and Windows, is being used to manage servers all over the world. Puppet was founded in 2005 and the software is now used... Read more


Learn how to deploy and use Puppet to automate configuration management and software deployment for Windows and Linux. The course in this section uses Puppet version 3.7.3, but the skills taught in this course are transferrable to Puppet 4.


Puppet Fundamentals for System Administrators

by Ben Piper

Feb 12, 2015 / 5h 31m

Beginner • 5h 31m

Start Course

Learn step-by-step how to deploy and use Puppet to automate configuration management and software deployment for Windows and Linux. No programming experience required! Follow along as we build a realistic Puppet lab from the ground up utilizing cross-platform Vagrant and VirtualBox. Topics covered include manifests, modules, templates, Hiera, the roles and profiles pattern, and version control using Git.

Table of contents
  1. Introduction to Puppet
    24m 53s
  2. Installing and Configuring the Puppet Master
    1h 1m 55s
  3. Installing and Configuring the Puppet Agent
    26m 27s
  4. Creating Manifests
    47m 10s
  5. Creating and Using Modules
    59m 18s
  6. Creating File Templates
    21m 34s
  7. Configuring Hiera
    22m 37s
  8. Windows Configuration Management
    45m 45s
  9. Version Control
    21m 28s


Take a closer at Puppet 4 with this group of courses that cover language essentials, modules, classes, files, and templates.


Puppet 4: Language Essentials

by Andrew Mallett

Jul 26, 2016 / 3h 49m

Intermediate • 3h 49m

Start Course

As your server estate grows with more and more virtual systems, so does the difficulty of trying to keep your configurations consistent and reliable. The days of having a few servers to manage are long-gone, and there seems to be an array of different distributions that all require specific tools. Puppet is a mature and respected configuration management tool that is available free of charge as open-source software. In this course, Puppet 4: Language Essentials, you can learn Puppet quickly as the language is written simply with administrators and not developers in mind. First you'll learn how to provide consistent and reliable configuration results, and look at defining configurations as resources. Next, you'll learn to use logic to set the correct service names. Finally you'll be looking at how to restart services after configuration changes. After watching this course, you'll be able to create manifests yourself as well as defining your own configuration needs.

Table of contents
  1. Course Overview
    1m 53s
  2. Configuration Management and Puppet
    14m 33s
  3. Installing the Puppet Client
    36m 22s
  4. Working with Puppet Apply and Manifests
  5. Working with Puppet Resources
    53m 10s
  6. Exposing the Puppet Language
    54m 3s
  7. Managing Resource Relationships
    33m 32s

Puppet 4: Working with Modules and Classes

by Andrew Mallett

Aug 18, 2016 / 3h 13m

Intermediate • 3h 13m

Start Course

Organizing your code into modules and classes will make it more usable and maintainable, which will make you more employable. In this course, Puppet 4: Working with Modules and Classes, you'll learn how to organize your code better than ever before. First, you'll learn to transform an NTP manifest into a more usable application, in the form of a module containing classes and defined types. You'll also learn how to create code once and reuse it. Finally, you'll discover how to validate input to parameterized classes. By the end of this course, you'll know how to refactor monolithic, flat Puppet manifests into streamlined modules.

Table of contents
  1. Course Overview
    1m 39s
  2. Understanding Modules and Classes
    15m 21s
  3. Working with Puppet Environments
    25m 28s
  4. Working with Modules
    23m 40s
  5. Working with Puppet Classes
    34m 37s
  6. Implementing Parameterized Classes
    38m 34s
  7. Implementing Class Inheritance
    20m 34s
  8. Working with Custom Resource Types
    33m 29s

Puppet 4: Working with Files and Templates

by Andrew Mallett

Sep 2, 2016 / 3h 7m

Intermediate • 3h 7m

Start Course

There are many scenarios where adding functionality to your Puppet modules can make your work easier. In this course, Puppet 4: Working with Files and Templates, you'll learn how to make use of templates in your Puppet code and how you can deliver files with Puppet. First, you'll see how easily you can reduce the number of files a module requires by making use of variable data and templates. The original template language was Ruby, but now with Puppet 4 you can support both Ruby and Puppet templates. Next, you'll look at ways to deliver files and parts of files. Finally, you'll learn how you can deliver a complete folder structure if required, purging any unmanaged content using file\-line while concat delivers single lines or fragments of files allowing for autonomous edits to the managed files. By the end of the course, you will be able to create Puppet modules delivering configurations using templates, as well as allowing autonomous edits using file fragments.

Table of contents
  1. Course Overview
    1m 39s
  2. Puppet File and Template Tools
    15m 47s
  3. Using Puppet Templates
    21m 6s
  4. Working with ERB Templates
    46m 14s
  5. Working with EPP Templates
    26m 18s
  6. Delivering Files with Puppet
    36m 10s
  7. Ensure Content Using File_Line
    28m 23s
  8. Delivery of File Parts with Concat
    11m 38s


By now you should have a solid understanding of Puppet 4. Next, learn how Hiera, Puppet Server, and Puppet Enterprise can help simplify your workflow.


Puppet 4: Hiera, the Single Source of Truth

by Andrew Mallett

Oct 13, 2016 / 2h 39m

Intermediate • 2h 39m

Start Course

Throughout this series of Puppet 4 courses, the complexity of the NTP module has been building up. Now, you can start to simplify the module by removing components and adding Hiera. In this course, Puppet 4: Hiera, the Single Source of Truth, you'll be refactoring the NTP module to make use of Hiera in replacement of some of the Puppet logic. First, you'll learn how to write YAML files. Next, you'll learn how to configure and test Hiera. Finally, you'll learn the fault-finding Puppet applications. By the end of this course, you'll be able to implement modules using Hiera efficiently and effectively.

Table of contents
  1. Course Overview
    1m 50s
  2. Hiera, the Single Source of Truth for Puppet
    14m 40s
  3. Getting Started with Hiera
    19m 31s
  4. Hiera Configuration
    23m 56s
  5. Writing the Data Source
    22m 57s
  6. Command Line Verification
    24m 10s
  7. Simple Worked Example and What Goes Wrong
    25m 2s
  8. Refactoring the NTP Module for Hiera
    27m 21s

Puppet 4: Server and Puppet Enterprise

by Andrew Mallett

Nov 23, 2016 / 2h 59m

Intermediate • 2h 59m

Start Course

Centralizing your configuration on the Puppet Server ensures that your code only needs to be managed in the one location. In this course, Puppet 4: Server and Puppet Enterprise, you will install modules to the server, configure hiera on the server, and write Puppet code on the server. First, you'll get to see some of the differences between Puppet Server and Puppet Enterprise, as well as installing Puppet Enterprise onto the CentOS 7 host. Next, you'll get to see what can be managed with the Puppet Enterprise Dashboard and how you can use Puppet Server to distribute Agent Packages. Finally, you'll see how you can make use of Roles and Profiles to organize Puppet code for easier and more efficient assignment. You use both the Puppet Open Source Server and Puppet Enterprise Server so you may compare the two. By the end of the course, you will be comfortable in using the Puppet Server both from the command line and dashboard.

Table of contents
  1. Course Overview
    2m 8s
  2. What Is the Puppet Server?
    17m 43s
  3. Installing Puppet Enterprise
    24m 16s
  4. Investigating the Dashboard
    23m 37s
  5. Installing the Agent
    31m 31s
  6. Configuring Hiera on the Server
    24m 48s
  7. Deploying Modules to Agents
    26m 18s
  8. Puppet Roles and Profiles
    28m 34s

What you will learn

  • How to Write Puppet Code
  • How to Create Puppet Modules
  • How to Deliver Files and Templates
  • How to Use Hiera to Customize Module Application
  • How to Deploy and Manage a Puppet Server


To get the most out of this path, it’s recommended that you have experience working with the Linux command line interface and be familiar with text editors such as vi or nano. Much of configuration management in Linux has to do with services, so it is also recommended that you have an understanding of Linux Services. LFCS: Linux Essentials can help you get up to speed with this.

Register for FREE. Get your Pluralsight IQ.

You’ll get unlimited access to adaptive skill assessments that help you validate your skills in as little as 5 minutes, and you'll get to see the Pluralsight platform first-hand.

Offer Code *
Email * First name * Last name *
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit