Configuration Management using Puppet 4


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

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.


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 30m

5h 30m

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
  2. Installing and Configuring the Puppet Master
  3. Installing and Configuring the Puppet Agent
  4. Creating Manifests
  5. Creating and Using Modules
  6. Creating File Templates
  7. Configuring Hiera
  8. Windows Configuration Management
  9. Version Control


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 Pluralsight

Jul 26, 2016 / 3h 50m

3h 50m

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
  2. Configuration Management and Puppet
  3. Installing the Puppet Client
  4. Working with Puppet Apply and Manifests
  5. Working with Puppet Resources
  6. Exposing the Puppet Language
  7. Managing Resource Relationships

Puppet 4: Working with Modules and Classes

by Andrew Mallett

Aug 18, 2016 / 3h 13m

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
  2. Understanding Modules and Classes
  3. Working with Puppet Environments
  4. Working with Modules
  5. Working with Puppet Classes
  6. Implementing Parameterized Classes
  7. Implementing Class Inheritance
  8. Working with Custom Resource Types

Puppet 4: Working with Files and Templates

by Andrew Mallett

Sep 2, 2016 / 3h 6m

3h 6m

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
  2. Puppet File and Template Tools
  3. Using Puppet Templates
  4. Working with ERB Templates
  5. Working with EPP Templates
  6. Delivering Files with Puppet
  7. Ensure Content Using File_Line
  8. Delivery of File Parts with Concat


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

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
  2. Hiera, the Single Source of Truth for Puppet
  3. Getting Started with Hiera
  4. Hiera Configuration
  5. Writing the Data Source
  6. Command Line Verification
  7. Simple Worked Example and What Goes Wrong
  8. Refactoring the NTP Module for Hiera

Puppet 4: Server and Puppet Enterprise

by Andrew Mallett

Nov 23, 2016 / 2h 58m

2h 58m

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
  2. What Is the Puppet Server?
  3. Installing Puppet Enterprise
  4. Investigating the Dashboard
  5. Installing the Agent
  6. Configuring Hiera on the Server
  7. Deploying Modules to Agents
  8. Puppet Roles and Profiles
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 providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

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

I agree, activate benefit