Skip to main content

Learning PuppetWelcome to this pages where we show you what you can do with Puppet. Puppet is the major configuration management tool available on Linux and other Operating Systems. These tutorials and videos are designed to give you a greater understanding of Puppet and, of course, learning Puppet.

Puppet is a central management server based on Ruby that is cross-platform. The Puppet server is named the was known as the Puppet Master in earlier releases but in Version 4 it is just the Puppet Server. The clients are known as the Puppet Agent. This can be used standalone or as a client-server model.

Lesson # Description Click to Access
1 Installing Puppet Master on openSUSE and standalone client Click to Access
2 Managing openSUSE clients with Puppet Click to Access
3 Centralized Ubuntu Management with Puppet Click to Access
4 Installing Puppet Enterprise on CentOS 6 Click to Access
5 Understanding Puppet 4 Click to Access
6 Installing the Puppet Agent for Windows Click to Access
7 Puppet Apply on the Fly Click to Access
8 Moving Directories in Puppet Click to Access

Hosted on Pluralsight

Andrew Mallett, otherwise known as theurbanpenguin, has been authoring training courses for Pluralsight since 2014. In mid-2016 we started the Puppet 4 series investigating the detailed offering in both Puppet 4 and Puppet Enterprise 2016. You will need to subscribe to Pluralsight to access these courses; however, a single monthly subscription gives access to their extensive catalogue of over 4000 courses.

Puppet 4: Language Essentials. This course will get you up and running with the basics language concepts of Puppet. Looking at how we write and test puppet code and use many elements of the language such as conditionals and loops. The course starts with installing Puppet 4 on both CentOS and Ubuntu. With the agent installed we can start to view the environments and facts that can be used to identify the client’s needs. With the basic under our belt, we move onto writing code in manifests and working with puppet resources and resource defaults.

Puppet 4: Working with Modules and Classes. With a firm understanding of the Puppet language, we can now start at writing code elements that a grouped into Modules contain Classes. This is also going to help us organise files and templates which we look at in more detail in a later course. We start by seeing how we can create separate environments for test and production systems before moving onto the structure of a Puppet module. When working with classes we will learn how Modules group classes and classes group resources together. We then move on the parameterized classes that allow for customization of your code.

Puppet 4: Working with Files and Templates. We can deliver configuration files and other data with Puppet. To reduce the number of files we need we will often make use of templates. In Puppet 4 these templates can be written in ERB or EPP formats and we look at both methods. We also look at tools that we can use within Puppet to help manage file content and delivery such as file_line and concat. Although not specifically limited to files we look at how we can ensure we only have the required resources and nothing else by purging resources. These include purging host entries to ensure correct /etc/hosts files.

Puppet 4: Hiera The Single Source of Truth. Implementing Hiera 3.2 in Puppet 4 we are able to abstract the code from the actual implementation. Keeping configuration data separate to the code. Having centralised configuration parameters that can be retrieved by Puppet allows us to write more simple code that is easier to maintain. Much of the logic can be replaced with data-lookups. We extend the course module to use Hiera for configuration data.