Book Image

Mastering Puppet - Second Edition

By : Thomas Uphill
Book Image

Mastering Puppet - Second Edition

By: Thomas Uphill

Overview of this book

Puppet is a configuration management system and a language. It was written for and by system administrators to manage large numbers of systems efficiently and prevent configuration drifts. Mastering Puppet deals with the issues faced when scaling out Puppet to handle large numbers of nodes. It will show you how to fit Puppet into your enterprise and allow many developers to work on your Puppet code simultaneously. In addition, you will learn to write custom facts and roll your own modules to solve problems. Next, popular options for performing reporting and orchestration tasks will be introduced in this book. Moving over to troubleshooting techniques, which will be very useful. The concepts presented are useful to any size organization. By the end of the book, you will know how to deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously.
Table of Contents (17 chapters)

Configuring PuppetDB – using the Forge module


The easy way to configure PuppetDB is to use the puppetdb Puppet module on Puppet Forge at https://forge.puppetlabs.com/puppetlabs/puppetdb. We will install PuppetDB using the module first to show how quickly you can deploy PuppetDB. In the subsequent section, we'll configure PuppetDB manually to show how all the components fit together.

The steps to install and use PuppetDB that we will outline are as follows:

  1. Install the puppetdb module on Puppet master (stand).

  2. Install puppetlabs-repo and Puppet on PuppetDB host.

  3. Deploy the puppetdb module onto PuppetDB host.

  4. Update the configuration of the Puppet master to use PuppetDB.

We will start with a vanilla EL6 machine and install PuppetDB using the puppetdb module. In Chapter 4, Public Modules, we used a Puppetfile in combination with librarian-puppet or r10k to download modules. We used the puppetdb module since it was a good example of dependencies; we will rely on PuppetDB being available to our catalog...