RTD Training & Development

Mastering Puppet

Call us on +44 (0)1225 66 72 72 or send us a message

Mastering Puppet

4 days hands-on £1,940+VAT

This course can be delivered over the web

Next scheduled date:
Monday May 20th, 2024 Enrol Now!

Can't wait that long? It may be possible to deliver this course at an earlier date. Contact us if you're interested
Puppet installation, configuration, usage and extension



  • The Puppet Architecture
  • Master and agents
  • System facts

Getting Started

  • Installation
  • Configuration
  • Certificate administration
  • Starting the system
  • Environments

Resources and Nodes

  • How resources work
  • Declaring resources
  • Using common resource types
  • Functions
  • Node declarations
  • Conditional constructs
  • Node inheritance
  • Resource relationships and ordering
  • Code compression

Classes and Defined Types

  • Defining classes
  • Declaring classes
  • Parameterised classes
  • Class inheritance
  • Defined Types
  • Tags
  • Resource collectors
  • Virtual resources


  • Module layout
  • Autoloading
  • File serving
  • Puppet Forge

Stored Configurations and Reporting

  • Installing PuppetDB
  • Configuring PuppetDB
  • Configuring reports
  • Graphical reports
  • Installing Puppet Dashboard
  • Using Dashboard
  • Exported resources

External Node Classification

  • ENC basics
  • Using Dashboard as an ENC
  • Using Hiera as an ENC

Extending Puppet

  • Adding reports
  • Adding facts
  • Adding resources
  • Adding providers
  • Adding Hiera backends

Scaling and Best Practices

  • Configuration options
  • Offloading tasks from the master
  • Upgrading the web server
  • Multiple masters
  • Security

Puppet Enterprise

  • Differences between Enterprise and Open Source
  • Enterprise components
  • Installing Enterprise
  • The Enterprise Console


  • The MCollective architecture
  • Installing MCollective
  • Plugins installed with Puppet Enterprise
  • The command-line interface
  • The Enterprise Console interface


Puppet provides a central facility to manage a network of computers with different architectures and different operating systems. Systems administrators need only specify the desired state of the systems and Puppet will ensure that each node remains in or returns to the desired state. This provides high reliability and easy recoverability. It also makes it easy to build multiple systems with the same configuration.

This course has a high hands-on content so that participants can apply the theoretical concepts.


On successful completion of this course, participants will be able to:

  • Understand the Puppet architecture
  • Deploy system configurations using best practices in a master/agent network
  • Install puppet and its dependencies
  • Configure the master and agent nodes
  • Understand Puppet resources, classes, defined types and nodes
  • Use features of the Puppet DSL
  • Use different methods of node classification
  • Write and install module-based manifests
  • Understand the differences between the Open Source and Enterprise versions
  • Use MCollective for orchestration


This course is for Unix and Linux systems administrators who wish to use Puppet to manage their configurations.


Experience of Unix and/or Linux systems administration, up to the level covered in the Unix System Administration course is assumed. Familiarity with Ruby is an advantage but not essential as the relevant features of the language are introduced where necessary in the course.

share buttons
share on twitter
share on linkedin
share on facebook
share by email