Puppet in 4 Hours
Published by Pearson
Get Started Managing Systems at Scale with Puppet
Puppet is a popular open-source configuration management tool used to manage the configuration of Linux and Windows systems. Puppet enables administrators to manage systems at scale with the assurance that the system configuration is consistent across nodes. A key benefit of Puppet is the ability to enforce system configuration through code which ensures that systems match the desired state that has been defined in Puppet. In this course, you’ll learn how to set up Puppet and manage systems using Puppet in four hours.
What you’ll learn and how you can apply it
By the end of this live online course, you’ll understand:
- Puppet server/agent architecture
- How to install and configure the Puppet primary server
- How to install Puppet agents
- How Puppet can be used to manage hundreds or thousands of systems
- How Puppet can continually enforce system configuration through code
And you’ll be able to:
- Install a Puppet primary server and Puppet agents
- Configure Linux and Windows systems using Puppet
- Develop a basic Puppet module
- Use Puppet modules from the Puppet Forge
This live event is for you because...
- You are a DevOps or Cloud engineer who wants to get started with Puppet and configuration management
- You manage a large number of systems and want to automate the configuration of those systems
- You want to continually enforce the configuration of systems to prevent the impact of manual changes or for compliance auditing reasons
Prerequisites
- Basic knowledge or experience with Linux
- Basic system administration experience
Course Set-up
- Students should have access to two virtual machines running Ubuntu server 20.04, with at least 4 GiB of RAM. One machine will serve as the Puppet server and the other will be the Puppet agent node. Name the machines as follows. Also ensure that all virtual machines have Internet access: VM #1: puppet, VM #2: nixagent
Recommended Preparation
- Watch: Learn Git in 3 Hours by Ross Conyers: https://learning.oreilly.com/videos/learn-git-in/9781789348231/
- Watch: Linux Fundamentals by Sander van Vugt: https://learning.oreilly.com/videos/linux-fundamentals/9780135560396
Recommended Follow-up
- Read: Puppet Best Practices Book by Chris Barbour and Jo Rhett: https://learning.oreilly.com/library/view/puppet-best-practices/9781491922996/
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Segment 1: Understanding Puppet and Configuration Management (20 minutes)
- Presentation: Learn about the basics of configuration management, idempotency, the difference between Puppet, Ansible, Chef, and Terraform as well as Puppet architecture.
- Q&A
Segment 2: Installing Puppet Server (40 minutes)
- Presentation: Learn about installing the Puppet server.
- Hands-on exercise: Install the Puppet server.
- Q&A
Break: 5 minutes
Segment 3: Configuring Puppet Server (40 minutes)
- Presentation: Learn about configuring the Puppet server and configuring r10k for integrating the Puppet server with source control stored Puppet code.
- Hands-on exercise: Install r10k, create a Puppet control repository and deploy Puppet code.
- Q&A
Break: 5 minutes
Segment 4: Installing Puppet Agents (20 minutes)
- Presentation: Learn about the Puppet agent installation process and deploying agents at scale.
- Hands-on exercise: Install the Puppet agent on a Linux system.
- Q&A
Segment 5: Getting started with Puppet Code development (35 minutes)
- Presentation: Learn about the Puppet DSL (domain specific language), classes,
resources, modules, module development and basic module testing.
- Hands-on exercise: Create a simple Puppet module that uses the basic package, file, service Puppet paradigm.
- Q&A
Break: 5 minutes
Segment 6: Using Puppet Forge modules (30 minutes)
- Presentation: Learn how to find pre-created Puppet modules on the Puppet Forge and how to install and use them with their Puppet server.
- Hands-on exercise: Find and use a Puppet module from the Puppet Forge.
- Q&A
Segment 7: Using Puppet Hiera for Data Separation (30 minutes)
- Presentation: Learn about Hiera and how to separate configuration data from their Puppet code as well as encrypting sensitive data such as passwords or API keys.
- Hands-on exercise: Add plaintext and encrypted data to a Hiera data file for agent node configuration
Wrap-up and Q&A (10 minutes)
Your Instructor
Martez Reed
Martez Reed is a solutions architect with almost 15 years of experience designing and implementing complex automation and orchestration solutions for organizations small and large. He started his career in systems administration before transitioning to helping enterprise IT organizations develop automation and orchestration solutions. He has worked with Puppet for 8+ years and authored several of the first Windows puppet module on the Puppet Forge including the original Active Directory module. Martez also has a broad set of experience that ranges from managing VMware vSphere environments to building CI/CD pipelines for infrastructure automation.