This online instructor led training course provides the knowledge and skills to utilize Puppet, an open source software configuration management and deployment tool. In this course students will learn key topics including the what Puppet is, its supported platforms, Puppet OSS and Puppet Enterprise, Puppet concepts, building a lab, using different types of resources, Hiera lookups, and more.

Course Instructor: Jesse Crawford

Course Outline

01. Introduction

  • What Puppet is used for
  • The Puppet architecture – agent and master
  • Supported platforms
  • Connecting an agent to a master
  • Puppet OSS vs. Enterprise

02. Puppet Concepts

  • Puppet manifests compile to catalogs
  • Declarative programming rather than imperative
  • Resources must be idempotent
  • The Puppet run process
  • Parts of a Puppet system (introduce hiera, puppetdb)

03. Building a Lab

  • Creating a master and agent
  • Installing the Puppet master
  • Installing and connecting the agent

04. The Puppet Language

  • Resources as a concept
  • Classes
  • Ordering
  • Different ways of including/requiring classes

05. Resources and Types

  • Simple resource types – packages, services
  • Managing files
  • Templates, ERB and puppet template
  • Complex resources types – config file line, perhaps other examples
  • Using exec

06. Using Modules

  • Including classes and modules
  • Puppet Forge content

07. Hiera

  • Hiera lookups
  • Hiera lookup precedence/order

08. Advanced Puppet Language

  • Using facts, hiera, and other variables
  • Ruby in Puppet manifests – loops, conditionals, etc.
  • Resource collectors

09. Puppet at Scale

  • Node classification
  • Puppet manifest deployment with r10k
  • Puppet reporting with puppetdb
  • Using Bolt for quick actions

10. Common Puppet Problems

  • Avoiding ordering loops
  • Investigating resources that apply every run
  • Monitoring Puppet agents for failures using reporting

11. Puppet Enterprise

  • Install process
  • Puppet Code Manager
  • Enterprise Console

Skills Learned

After completing this online training course, students will be able to:

  • Understand what Puppet is
  • Know the differences between Puppet OSS and Enterprise
  • Understand Puppet concepts, including run process, declaritive programming, puppetdb, and more
  • Be able to build a lab by installing the Puppet master and the agent
  • Understand classes and ordering
  • Better understand Puppet resources and types
  • Understand Hiera lookups
  • Be able to describe Puppet at scale
  • Understand how to avoid the common Puppet ordering loops
  • Be able to install Puppet Enterprise and understand the Puppet Enterprise Console