Next-Level Puppet / Puppet Intermediate

Deep Dive the Puppet Ecosystem, How to Manage Applications, Write Your Own Resource Types, Automate Puppet and More

TTDV7603

Intermediate

2 Days

Course Overview

Puppet is a configuration management system that automates all your IT configurations, giving you control of managing each node.Geared for experienced Puppet users, Next-Level Puppet / Puppet Intermediate is hands-on class that provides you with practical experience working with a variety of advanced skills and features in Puppet you can apply to your task, project or role, right after the training ends.

Working in a lab-intensive, skills focused environment, guided by our expert Puppet practitioner, you’ll get a deeper look into the Puppet infrastructure, as well as a solid review of external tools and Puppet ecosystem. You’ll learn how to write better manifests and work with Files and Packages. You’ll also explore controlling users and virtual resources, as well as managing resource files and applications. The latter part of the class explores the essentials of the critical skills required for monitoring, reporting and troubleshooting Puppet.

Please note that this course is independent, highly-customizable hands-on training. This is not official Puppet curriculum.

Course Objectives

This course combines expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises.  Working in a hands-on learning environment led by our expert instructor, you will learn how to:

  • Explore and use the latest and most advanced features of Puppet
  • Bootstrap your Puppet installation using powerful tools like Rake
  • Master techniques to deal with centralized and decentralized Puppet deployments
  • Use exported resources and forge modules to set up Puppet modules
  • Create efficient manifests to streamline your deployments
  • Automate Puppet master deployment using Git hooks and PuppetDB
  • Make Puppet reliable, performant, and scalable

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  We offer additional Puppet, Automation, Chef, DevOps, containers and other related topics that may be blended with this course for a track that best suits your needs

Course Prerequisites

This course is for users experienced with Puppet. This is not a basic class.  

Take Before: Attendees should have incoming skills aligned with the courses below, or should have attended these as a pre-requisite:

  • TTDV7600        Puppet Fundamentals
  • TTDV7602        Introduction to Puppet / Puppet QuickStart

Please see the Related Courses tab for Pre-Requisite course specifics and links, links to similar courses you might review as an alternative, as well as suggested Next-Step Follow-On Courses and Learning Path recommendations.

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda and labs are subject to change, and may adjust during live delivery based on audience interests, participation and skill-level.

  1. Optional Refresher: Puppet Language and Style
  • Adding a resource to a node
  • Using facter to describe a node
  • Using puppet facts
  • Installing a package before starting a service
  • Installing, configuring, and starting a service
  • Using community Puppet style
  • Installing Puppet
  • Creating a manifest
  • Checking your manifests with puppet-lint
  • Making modules
  • Using standard naming conventions
  • Using inline templates
  • Iterating over multiple items
  • Writing powerful conditional statements
  • Using regular expressions in if statements
  • Using selectors and case statements
  • Using the in operator
  • Using regular expression substitutions
  1. Exploring Puppet Infrastructure
  • Managing your manifests with Git
  • Creating a decentralized Puppet architecture
  • Writing a papply script
  • Running Puppet from cron
  • Bootstrapping Puppet with bash
  • Creating a centralized Puppet infrastructure
  • Creating certificates with multiple DNS names
  • Setting up the environment
  • Configuring PuppetDB
  • Configuring Hiera
  • Environment-specific Hiera
  • Setting node-specific data with Hiera
  • Writing a custom Hiera5 function
  • Storing secret data with hiera-eyaml
  • Automatic syntax-checking with Git hooks
  • Pushing code around with Git
  • Managing environments with Git
  1. Writing Better Manifests
  • Using arrays of resources
  • Using resource defaults
  • Using defined types
  • Using tags
  • Using run stages
  • Using roles and profiles
  • Using data types in Puppet
  • Passing parameters to classes
  • Passing parameters from Hiera
  • Writing reusable, cross-platform manifests
  • Getting information about the environment
  • Importing dynamic information
  • Passing arguments to shell commands
  1. Working with Files and Packages
  • Making quick edits to config files
  • Editing INI-style files with puppetlabs-inifile
  • Using Augeas to reliably edit config files
  • Building config files using snippets
  • Using ERB templates
  • Using array iterations in templates
  • Using EPP templates
  • Using GnuPG to encrypt secrets
  • Comparing package versions
  1. Users and Virtual Resources
  • Using virtual resources
  • Managing users with virtual resources
  • Managing users' SSH access
  • Managing users' customization files
  • Using exported resources
  1. Managing Resources and Files
  • Distributing cron jobs efficiently
  • Scheduling when resources are to be applied
  • Using host resources
  • Using exported host resources
  • Using multiple file sources
  • Distributing and merging directory trees
  • Cleaning up old files
  • Auditing resources
  • Temporarily disabling resources
  1. Managing Applications
  • Introduction
  • Using public modules
  • Managing Apache servers
  • Creating Apache virtual hosts
  • Creating NGINX virtual hosts
  • Managing MariaDB
  • Creating databases and user
  1. External Tools and the Puppet
  • Creating custom facts
  • Adding external facts
  • Setting facts as environment variables
  • Generating manifests with the Puppet resource command
  • Generating manifests with other tools
  • Using PDK
  • Using an external node classifier
  • Creating your own resource types
  • Creating your own providers
  • Creating custom functions
  • Testing your puppet manifests with rspec-puppet
  1. Monitoring, Reporting, and Troubleshooting
  • Noop—the don't-change-anything option
  • Logging the command output
  • Logging debug messages
  • Generating reports
  • Producing automatic HTML documentation
  • Drawing dependency graphs
  • Understanding Puppet errors
  • Inspecting configuration setting

Course Materials

Hands-on Setup Made Simple! All course materials, data sets, Tableau course software (limited version, for course use only), course notes and related resources (as applicable) are provided for attendees in our easy access, no installation required, remote lab environment for the duration of the course. Our tech team will help set up, test and verify lab access for each attendee prior to the course start date, ensuring a smooth start to class and successful hands-on course experience for all participants.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

New Site, BIG Savings!
We're celebrating the launch of our lonnngggg awaited new site with with *50% off all 2021 Public Classes* booked by April 30!  Check out our Current Offers for Individuals, Teams and Organizations to Learn for Less!

See our latest Offers and Promotions

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More