You are previewing Pro Puppet, Second Edition.
O'Reilly logo
Pro Puppet, Second Edition

Book Description

Pro Puppet, Second Edition, now updated for Puppet 3, is an in-depth guide to installing, using, and developing the popular configuration management tool Puppet.

Puppet provides a way to automate everything from user management to server configuration. You'll learn how Puppet has changed in the latest version, how to use it on a variety of platforms, including Windows, how to work with Puppet modules, and how to use Hiera.

Puppet is a must-have tool for system administrators, and Pro Puppet will teach you how to maximize its capabilities and customize it for your environment.

Install and configure Puppet to immediately start automating tasks and create reporting solutions

Learn insider tricks and techniques to better manage your infrastructure

Become a Puppet expert!

What you'll learn

  • How to use Puppet to administer Linux, Unix, and Windows systems

  • Best practices for at-scale deployment

  • How to write reusable puppet modules for yourself and for the community

  • How to use numerous tools around Puppet such as rspec-puppet, Geppetto, and PuppetDB

  • Advanced Puppet Features such as Hiera and Mcollective

Who this book is for

System administrators who need to quickly get into the details of configuration management with Puppet. You don't need previous Puppet experience, but it will help if you've had some experience with configuration management.

Table of Contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Authors
  6. About the Technical Reviewers
  7. Acknowledgments
  8. Foreword
  9. CHAPTER 1: Getting Started with Puppet
    1. What Is Puppet?
    2. Selecting the Right Version of Puppet
    3. Installing Puppet
    4. Configuring Puppet
    5. Connecting Our First Agent
    6. Creating Our First Configuration Item
    7. Creating Our First Module
    8. Summary
    9. Resources
  10. CHAPTER 2: Building Hosts with Puppet
    1. Getting Started
    2. Configuring Nodes
    3. Making (More) Magic With Modules
    4. Summary
    5. Resources
  11. CHAPTER 3: Developing and Deploying Puppet
    1. The puppet apply Command and Modes of Operation
    2. Foreground Puppet Master
    3. Developing Puppet with Vagrant
    4. Environments
    5. Making Changes to the Development Environment
    6. Testing the New Environments with the Puppet Agent
    7. Environment Branching and Merging
    8. Dynamic Puppet Environments with Git Branches
    9. Summary
    10. Resources
  12. CHAPTER 4: Scaling Puppet
    1. Identifying the Challenges
    2. Running the Puppet Master with Apache and Passenger
    3. Testing the Puppet Master in Apache
    4. Load-Balancing Multiple Puppet Masters
    5. Scaling Further
    6. Load Balancing Alternatives
    7. Measuring Performance
    8. Splay Time
    9. Summary
    10. Going Further
    11. Resources
  13. CHAPTER 5: Externalizing Puppet Configuration
    1. External Node Classification
    2. Storing Node Configuration in LDAP
    3. Summary
    4. Resources
  14. CHAPTER 6: Exporting and Storing Configuration
    1. Virtual Resources
    2. Getting Started with Exported and Stored Configurations
    3. Using Exported Resources
    4. Expiring Stale Resources
    5. Summary
    6. Resources
  15. CHAPTER 7: Puppet Consoles
    1. The Foreman
    2. Puppet Enterprise Console
    3. Puppetboard
    4. Summary
    5. Resources
  16. CHAPTER 8: Tools and Integration
    1. Puppet Forge and the Module Tool
    2. Searching and Installing a Module from the Forge
    3. Generating a Module
    4. Managing Module Dependencies
    5. Testing the Modules
    6. Developing Puppet modules With Geppetto
    7. Summary
    8. Resources
  17. CHAPTER 9: Reporting with Puppet
    1. Getting Started
    2. Configuring Reporting
    3. Report Processors
    4. Custom Reporting
    5. Other Puppet Reporters
    6. Summary
    7. Resources
  18. CHAPTER 10: Extending Facter and Puppet
    1. Writing and Distributing Custom Facts
    2. Developing Custom Types, Providers and Functions
    3. Summary
    4. Resources
  19. CHAPTER 11: MCollective
    1. More Background on MCollective
    2. Installing and Configuring MCollective
    3. Testing
    4. Installing MCollective Plug-ins
    5. Addressing Hosts with Metadata
    6. Additional Plug-ins
    7. Summary
    8. Resources
  20. CHAPTER 12: Hiera: Separating Data from Code
    1. The Power of Hiera
    2. Installing Hiera on Earlier Versions of Puppet
    3. Initial Hiera Configuration
    4. The Hiera Command-Line Utility
    5. Complex Data Structures
    6. Additional Backends
    7. Hiera Functions in Depth
    8. Module Data Bindings
    9. Hiera Examples
    10. Hiera-2
    11. Summary
    12. Resources
  21. Index