Introduction to Using Puppet
Introduction to Using Puppet Course Details:
The configuration management and data center automation tool that streamlines every step of IT service delivery, Puppet allows you to provision physical and virtual machines, orchestrate configuration management and develop, test and deploy code faster. Designed to easily automate repetitive and error-prone system administration tasks, Puppet's declarative language allows you to state how your systems should be configured to do their jobs. It's easy to quickly set up systems in a reliable and repeatable way.
This Puppet training course demonstrates the complete Puppet configuration management system, and how it can be used to build and scale reliable infrastructure for your own environments. As a continuous hands-on lab-intensive course, students will build a fully functional infrastructure using Puppet.
Call (919) 283-1674 to get a class scheduled online or in your area!
Part 1: Intro to DevOps
- Why DevOps
- Benefits
- Automation
- Overview of Puppet
- Puppet Enterprise vs Open Source
Lab: Using the Puppet Console, adding nodes and classes
Resources
- How Puppet uses resources for configuration management
- Developing Puppet resources
- Variables
- Conditional statements
- Built-in resource types
- Description of resources – resource types, titles, and body
- Core resource types
- Inspecting resources
Lab: Developing Puppet resources, applying resources to nodes
Part 2: Classes
- Understanding Puppet classes
- Manifests with Classes
- Class Inheritance
Part 3: Architecture
- Sizing Puppet Master
- Differences between Monolithic and Split Puppet architectures
- Puppet Agent
Lab: Manifests and Classes: Create class definitions, validate class syntax and apply to Puppet nodes
Modules
- Understand how Puppet reports Facts and the Catalog
- Installing modules from the Forge
- Searching the Forge from CLI and web
- Using the Puppet Module command
- Types and Providers
Lab: Modules, module path structure, and testing
Lab: NTP configuring nodes and class parameters
Lab: MySQL: Using Puppet to configure MySQL databases, users, and services
Part 4: Variables
- Using variables in Puppet
- Writing Puppet code without repeating
- Writing Classes with parameters
- Using the facter tool with modules and classes
Lab: Variables and Parameters: learn how to assign variables in a manifest, create classes with parameters
Part 5: Hiera
- Description and uses for Hiera
- Code reusability
- Access control with Git, LDAP, Jenkins
Lab: Installing and Using Hiera
Part 6: Conditional Statements
Understand and use these conditional statements:
- If
- Unless
- Case
- Selector
Lab: Conditional Statements: Using conditional statements in resources and modules.
Part 7: Advanced Topics
- Environments
- Using R10K to manage modules
- Creating custom modules
- Next steps
Lab: Resource ordering: Ensure the correct order of modules and classes
Lab: Defined resource types: Create new resource types
*Please Note: Course Outline is subject to change without notice. Exact course outline will be provided at time of registration.
By the end of this course, you will have a solid understanding and hands-on experience with Puppet, and the knowledge to integrate Puppet into your own operations workflow.
Students should bring laptops to class. Additionally, although it is not mandatory, students who have completed a foundational DevOps course have found it very helpful when completing this course.
- IT Managers and Leaders
- Developers and Application Teams
- System Administrators
- IT Operations Staff
- Release Engineers
- Configuration Managers
- Anyone involved with IT infrastructure
- ScrumMasters
- Software Managers and Team Leads