Phoenix TS

Introduction to Puppet

Course Overview

Our 4- day, instructor-led Introduction to Puppet course is intended for developers, system administrators, or anyone who wants to learn about Puppet to manage their infrastructure lifecycle. It will teach you to:

  • Understand the latest Puppet 5 features
  • Install and set up Puppet and discover the latest and most advanced features
  • Configure, build, and run containers in production using Puppet’s industry-leading Docker support
  • Deploy configuration files and templates at super-fast speeds and manage user accounts and access control
  • Automate your IT infrastructure
  • Use the latest features in Puppet 5 onward and its official modules
  • Manage clouds, containers, and orchestration
  • Get to know the best practices to make Puppet more reliable and increase its performance


Currently, there are no public classes scheduled. Please contact a Phoenix TS Training Consultant to discuss hosting a private class at 240-667-7757.

Course Outline

Module 1: Getting Started with Puppet

  • Why do we need Puppet anyway?
  • Configuration management tools
  • What is puppet
  • Getting Ready for Puppet

Module 2: Creating your first manifests

  • Hello, Puppet – Your First Puppet Manifest
  • Managing packages
  • Services

Module 3: Managing your Puppet code with Git

  • What is version control?
  • Creating a Git repo
  • Distributing Puppet manifests
  • Fetching and applying changes automatically

Module 4: Understanding Puppet resources

  • Files
  • Packages
  • Services
  • Users
  • Cron resources
  • Exec resources

Module 5: Variables, Expressions, and Facts

  • Introducing variables
  • Introducing expressions
  • Finding out facts
  • Iterating over arrays

Module 6: Managing data with Hiera

  • Why Hiera?
  • Setting up Hiera
  • Adding Hiera data to your Puppet repo
  • Querying Hiera
  • Types of Hiera data
  • Interpolation in Hiera data
  • The hierarchy
  • Creating resources with Hiera data
  • Managing secret data

Module 7: Mastering Modules

  • Using Puppet Forge modules
  • Using modules in your manifests
  • Exploring the standard library
  • Writing your own modules

Module 8: Classes, roles, and profiles

  • Classes
  • Parameter data types
  • Defined resource types
  • Managing classes with Hiera
  • Roles and profiles

Module 9: Managing files with templates

  • What are templates?
  • Using templates in your manifests
  • Iteration in templates

Module 10: Controlling containers

  • Understanding containers
  • Deployment with Docker
  • Managing Docker with Puppet
  • Managing Docker images
  • Building dynamic containers
  • Persistent storage for containers
  • Networking and orchestration
  • Running Puppet inside containers

Module 11: Orchestrating cloud resources

  • Introducing the cloud
  • Setting up an Amazon AWS account
  • Getting ready to use puppetlabs/aws
  • Creating EC2 instances with Puppet
  • Managing custom VPCs and subnets
  • Provisioning AWS resources from Hiera data

Module 12: Putting it all together

  • Getting the demo repo
  • Understanding the demo repo
  • The bootstrap process
  • Adapting the repo for your own use
  • Bootstrapping a new node
Subscribe now

Get new class alerts, promotions, and blog posts