Puppet Practitioner

In Puppet Practitioner students will learn why they should manage their Puppet infrastructure the Right Way. Students will learn multiple ways to accomplish tasks in Puppet and how to choose which is most appropriate for a given situation. Students will design and build modules, and extend modules from the Forge. Students will also learn best practices for implementing Roles & Profiles in their infrastructure.

Duration: 

3 Days

Prerequisites: 

In this course, we expect students to have a reasonable level of Puppet experience and are looking to expand their knowledge. Students should have completed Puppet Fundamentals or have the equivalent hands-on experience with Puppet--at least six months to a year.
The course is designed for senior system administrators and DevOps professionals with a solid understanding of configuration management strategies.

Before class:

  • Know the command line. If you aren’t using it at present, please refresh yourself.
  • Familiarity with Linux-y concepts such as services, packages and configuration files. 
  • Be familiar with a text editor such as vi, Vim, Emacs or nano. Puppet Labs trainers typically use Vim. 
  • You definitely need junior-level sysadmin skills. You should know:
    • how to restart a service
    • what an entry in /etc/hosts means
    • what a hostname is
    • how to troubleshoot basic networking problems such as name lookups, DNS lookups, and basic connectivity
  • Be able to configure a virtual machine (your choice of VMware or VirtualBox) to use bridged or NAT networking
  • Know how to navigate the file system.
  • Have the Training VM downloaded to your computer before you show up. We will run through the configuration and installation process for this VM, so you don’t even need to boot it up yet. Just make sure that it’s on your computer and you know how to start it.
  • Be ready to completely shift configuration management paradigms! Writing Puppet code is not like writing your average shell script, so prepare to learn a new way of thinking.

What will you learn: 

  • More advanced Puppet DSL constructs that can be used to write more elegant code.
  • Using data structures to create resources programmatically.
  • Using custom facts to expose information about nodes.
  • The concepts of modularity and composability and how they refer to module design.
  • Methods for testing your Puppet code and infrastructure.
  • Using MCollective from the command line to automate infrastructure orchestration.
  • Troubleshooting techniques and standard log files.
  • The Roles & Profiles design pattern and the benefits it offers.
  • Several different methods for managing portions of files.
  • Why the Anchor Pattern exists and when one should use it or the `contain()` function.
  • Creating generalizable modules and contributing them back to the community via the Puppet Forge.
  • Sharing functionality between classes using inheritance.

What is provided: 

  • Original training material from Puppet Labs
  • Lunch for all 3 days of training
  • Support and help after the training

What is next: