Extending Puppet : design, manage, and deploy your puppet architecture with the help of real-world scenarios / Alessandro Franceschi.

This book is a clear, detailed and practical guide to learn about designing and deploying you puppet architecture, with informative examples to highlight and explain concepts in a focused manner. This book is designed for users who already have good experience with Puppet, and will surprise experien...

Full description

Saved in:
Bibliographic Details
Main Author: Franceschi, Alessandro (Author)
Format: eBook
Language:English
Published: Birmingham, UK : Packt Publishing, 2014.
Series:Community experience distilled.
Subjects:
Online Access:Click for online access
Table of Contents:
  • Cover; Copyright; Credits; Foreword; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Puppet Essentials; The Puppet ecosystem; Why configuration management matters; Puppet components; Installation and configuration; Puppet in action; Resources; The resource abstraction layer; Nodes; Classes and defines; Class inheritance; Resource defaults; Resource references; Variables, facts, and scopes; System's facts; User variables in Puppet DSL; User variables in an ENC; User variables in Hiera; Puppet's built-in variables
  • A variable's scopeMeta parameters; Managing order and dependencies; Run stages; Reserved names and allowed characters; Conditionals; Comparison operators; The In operator; Expressions combinations; Exported resources; Virtual resources; Modules; The paths of a module and autoloading; ERB templates; Summary; Chapter 2: Hiera; Installing and configuring Hiera; Global settings; Backend-specific settings; The hiera.yaml examples; Working with the command line on a YAML backend; Using Hiera in Puppet; Dealing with hashes in the Puppet code; Puppet 3 automatic parameter lookup
  • Evolving usage patterns for class parametersAdditional Hiera backends; The hiera-file backend; The hiera-gpg backend; The hiera-eyaml backend; The hiera-http and hiera-mysql backends; Using Hiera as an ENC; Summary; Chapter 3: PuppetDB; Installation and configuration; PuppetDB configurations; The init script configuration; Configuration settings; Logging configuration; Configurations on the Puppet Master; Dashboards; PuppetDB performance dashboard; Puppetboard
  • query PuppetDB from the web; The PuppetDB API; Querying PuppetDB (Read); The PuppetDB commands (Write)
  • Querying PuppetDB for fun and profitThe /facts endpoint; The /resources endpoint; The /nodes endpoint; The /catalogs endpoint; The /facts-names endpoint; The /metrics endpoint; The /reports endpoint; The /events endpoint; The /event-counts endpoint; The /aggregated-event-counts endpoint; The /server-time endpoint; The /version endpoint; The puppetdbquery module; Query format; Query from the command line; Query from Puppet manifests; The PuppetDB Hiera backend; How Puppet code may change in the future; Summary; Chapter 4: Designing Puppet Architectures; The components of Puppet architecture
  • Definition of the classes to include in each nodeDefinition of the parameters to use for each node; Definition of the configuration files provided to the nodes; Definition of custom resources and classes; The Foreman; Roles and profiles; The data and the code; Sample architectures; The default approach; Basic ENC, logic in the site module, Hiera backend; The Foreman and Hiera; The Hiera-based setup; The Hiera-only setup; Foreman smart variables; Fact-driven truths; Nodeless site.pp; Node inheritance done right; Summary; Chapter 5: Using and Writing Reusable Modules