Puppet Quick Start / Introduction to Puppet

Explore Puppet Essentials, How to Write Good Puppet Code, Community Best Practices and Real-World Implementation



2 Days

Course Overview

Puppet is a configuration management system that automates all your IT configurations, giving you control of managing each node. Updated with the latest advancements and best practices, Introduction to Puppet / Puppet Quick Start is a hands-on course that delves into various aspects of writing good Puppet code, which includes using Puppet community style, checking your manifests with puppet-lint, and learning community best practices with an emphasis on real-world implementation.

Working in hands-on learning environment, you will learn to set up, install, and create your first manifests with Puppet version control, and also understand various sysadmin tasks, including managing config files, using Augeas, and generating files from snippets and templates. As the course progresses, you’ll explore virtual resources and use Puppet's resource scheduling and auditing features. In the concluding lessons, you’ll walk through managing applications and writing your own resource types, providers, and external node classifiers. By the end of this course, you will have learned to report, log, and debug your system.

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:

  • Discover the latest and most advanced features of Puppet
  • Learn language differences and enhancements anticipated in Puppet version 5.x
  • Explore recipes that work with centralized and decentralized deployments
  • Learn to 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
  • Learn how to 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, Chef, DevOps, containers and other related topics that may be blended with this course for a track that best suits your needs.  Our team can help design the course or learning path that best meets your needs and skills goals.

Course Prerequisites

This course is for users new to Puppet. Prior experience with Python is recommended but not required. Attendees without Python background may follow along with hands-on portion of the training.  

Take Before: Attendees should have incoming skills that align with the topics in the course(s) below or should have attended these as a pre-requisite.

  • TT4800  Introduction to Python Programming Basics

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. Puppet Essentials: 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
  • Puppet 5 changes
  • Puppet 4/5 changes
  1. 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

Bonus Content / Optional / Time Permitting

Managing Applications

  • Using public modules
  • Managing Apache servers
  • Creating Apache virtual hosts
  • Creating NGINX virtual hosts
  • Managing MariaDB
  • Creating databases and users

Course Materials

All course software (limited versions, for course use only), courseware files, hands-on lab guides, labs and solutions, data sets and resources (as applicable) are provided for you in our “easy access / no install required” high-speed remote lab environment.  Our dedicated live tech team works with every student to ensure everyone is set up with working access and ready to go prior to every course start date, ensuring a smooth delivery and great hands-on experience.

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.

Summer Savings!
Register today to receive *50% off all 2021 Public Classes*!  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