Puppet Fundamentals
Summary
In Puppet Fundamentals students will learn the right way to manage an infrastructure. You will learn foundational concepts and best practices for managing your infrastructure with Puppet Enterprise.
Description
Students will start by installing Puppet Enterprise, then learn Puppet best practices and use Puppet to write simple classes, and update and extend existing modules. Puppet Fundamentals is taught through a combination of lecture and relevant, real world, hands-on exercises.
Duration
3 Days
Objectives
After completing this course, students will be able to deploy basic system configurations using best practices for Puppet in a Master-Agent setup.
Audience
In this course, we expect students to have little to no experience with Puppet Enterprise (or Puppet Open Source) and are looking to build a foundation for future growth, experience, and knowledge.
Prerequisites
Know the command line, such as Bash or PowerShell, and be familiar with operating system concepts such as services, packages and configuration files. If you’d like to work with the provided Training VM and you’d like an opportunity to refresh your Unix skills before logging in, you might work through the following material:
Be familiar with a text editor. Puppet Labs trainers typically use Vim, but you may use any text editor you are comfortable with. The provided Training VM includes vim, emacs, and nano.
You definitely need junior-level sysadmin skills. For example, you should know:
- how to restart a service
- what an entry in the hosts file 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.
Have the Training VM downloaded to your computer before you show up. We will run through the configuration and installation for this VM in class, so you don’t need to boot it up prior to class. Just make sure that it’s on your computer and you know how to start it.
- If you prefer to learn from the Windows perspective, you may provide your own VM instead. It should be Windows Server 2012 or greater.
Outline
The fundamental component roles that make up Puppet Enterprise (and Puppet Open Source).
The core concepts for the Puppet DSL, including:
- Modules and Classes
- Classification
- Resources
- Relationships
- Language Constructs
Separating logic from presentation by using Templates.
Modeling repeatable portions of your configuration by using Defined Resource Types.
Building a foundation for building more complex configurations by using Advanced Classes:
- Parameterized Classes
- Introduction to Inheritance
- Introduction to Data Separation using Hiera
- Revisiting Classification using parameterized classes & ADB
An introduction to using modules from the Puppet Forge and Supported Modules.
A brief introduction to the Roles and Profiles design pattern.