This book is an advanced guide to using and deploying Puppet 4 in your organization with a special focus on issues faced in larger enterprise deployments
From an experienced author, learn to deal with scaling, performance, and multiple developers with the help of real-world examples
This is the most up-to-date guide on Puppet, and covers the advanced concepts of Puppet 4
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.
What you will learn
Scale out your Puppet infrastructure using proxying techniques
Automate your code promotion workflow using Git and r10k
Solve real-world problems using public modules from the Puppet Forge
Use Hiera to separate the data of your configuration from the code of your configuration
Write your own custom facts in Ruby
Extend Puppet with your own custom facts, modules, and types
Use exported resources to orchestrate change between machines
Debug a puppetserver using Java techniques
About the Author
Thomas Uphill is a long-time user of Puppet. He has presented Puppet tutorials at LOPSA-East, Cascada, and PuppetConf. He has also been a system administrator for over 20 years, working primarily with RedHat systems; he is currently a RedHat Certified Architect (RHCA). When not running the Puppet User Group of Seattle (PUGS), he volunteers for the LOPSA board and his local LOPSA chapter, SASAG. He blogs at http://ramblings.narrabilis.com.
Table of Contents
Dealing with Load/Scale
Organizing Your Nodes and Data
Git and Environments
Custom Facts and Modules
Reporting and Orchestration
Roles and Profiles