NOTE: THIS IS AN ADVANCED LEVEL COURSE.
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.
What You Will Learn to Help You Solve Problems
- 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.
Course Length // Type
Three (3) Days // Instructor-Led in a classroom
Who Should Attend
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.
- Know the command line. If you aren’t using it at present, refresh yourself with an online course like The Command Line Crash Course (Note: We use bash in class.).
- Familiarity with Linux-y concepts such as services, packages and configuration files. If you work primarily in Windows, you can try out this Unix tutorial, and we also recommend this shell script tutorial.
- Be familiar with a text editor such as vi, Vim, Emacs or nano. Puppet Labs trainers typically use Vim. We recommend printing yourself a Vim cheat sheet, and you could even study up on Vim in advance.
- You definitely need 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 (VMware or VirtualBox) 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.