Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover Page
Title Page
Copyright
Dedication
Contents
Contents at a Glance
About the Authors
About the Technical Reviewer
Acknowledgments
Introduction
CHAPTER 1: Getting Started with Puppet
What Is Puppet?
Deployment
Configuration Language and Resource Abstraction Layer
Transactional Layer
Selecting the Right Version of Puppet
Can I mix releases of Puppet?
Installing Puppet
Installing on Red Hat Enterprise Linux and Fedora
Installing on Debian and Ubuntu
Installing on OpenSolaris
Installing from Source
Installing on Microsoft Windows
Installing on other Platforms
Configuring Puppet
The site.pp file
Firewall Configuration
Starting the Puppet Master
Connecting Our First Agent
Completing the Connection
Creating Our First Configuration
Extending the site.pp file
Agent Configuration
Creating our first module
Module Structure
The init.pp file
Applying Our First Configuration
Summary
Resources
CHAPTER 2: Building Hosts with Puppet
Getting Started
Installing Puppet
Configuring Nodes
Making (More) Magic With Modules
Version Controlling Your Modules
Creating a module to Manage SSH
Managing Our Classes
Creating a Module to Manage Postfix
The postfix::install class
The postfix::config class
The postfix::service class
Managing MySQL with the mysql Module
The mysql::install class
The mysql::config class
The mysql::service class
Managing Apache and Websites
The apache::install class
The apache::service class
The Apache definition
Managing Puppet with the Puppet Module
Summary
Resources
CHAPTER 3: Working with Environments
Configuring Puppet Environments
Populating the New Environments
Making Changes to the Development Environment
Testing the New Environments with the Puppet Agent
Environment Branching and Merging
Setting Up a Central Repository
Developing a Change Using a Branch
Merging Changes into a Testing Environment
Production Environment Releases
Summary
Resources
CHAPTER 4: Puppet Scalability
Identifying the Challenges
Running the Puppet Master with Apache and Passenger
Installing Apache and Passenger on Enterprise Linux
Installing Apache and Passenger on Debian-Based Systems
Installing Passenger Using Ruby Gems
Configuring Apache and Passenger
Testing the Puppet Master in Apache
Load-Balancing Multiple Puppet Masters
HTTP Load Balancing
Puppet CA Load Balancing Configuration
Measuring Performance
Splay Time
Summary
Resources
CHAPTER 5: Externalizing Puppet Configuration
External Node Classification
Configuring Nodes Using An External Node Classifier
An External Node Classifier in a Shell Script
A Ruby External Node Classifier
A Perl External Node Classifier
Back-Ending a Node Classification
Storing Node Configuration in LDAP
Installing Ruby LDAP Libraries
Setting Up the LDAP Server
Adding the Puppet Schema
Configuring LDAP in Puppet
Summary
Resources
CHAPTER 6: Exporting and Storing Configuration
Virtual Resources
Declaring and Realizing a Virtual Resource
Applying the Realize Function
Making Virtual Resources Real
Relationship-Chaining Syntax
Getting Started with Exported and Stored Configurations
The Stored Configuration Database Server
Configuring Puppet Master for Stored Configuration
Adding a MySQL Table Index
Using Exported Resources
Automated SSH Public Host Key Management
Exporting Load Balancer Worker Resources
Automating Nagios Service Checks
Scaling Stored Configurations
Thin Stored Configurations
Queue Support for Stored Configurations
Installing ActiveMQ on Enterprise Linux-Based Systems
Installing ActiveMQ on Debian-Based Systems
Puppet Master Queue Configuration
Expiring Stale Resources
Summary
Resources
CHAPTER 7: Puppet Consoles: Puppet Dashboard and The Foreman
Puppet Dashboard
Installing Puppet Dashboard
Configuring the Dashboard
Running Puppet Dashboard
Integrating Puppet Dashboard
External Node Classification
Logging, Database Backup and Performance
The Foreman
Installing Foreman
Configuring Foreman
Starting Foreman
Integrating Foreman's Capabilities
Displaying Reports in Foreman
Displaying Nodes Information in Foreman
Using Foreman to trigger Puppet
Summary
Resources
CHAPTER 8: Tools and Integration
Puppet Forge and Module Tool
Installing the Puppet Module Tool
Searching and Installing a Module from the Forge
Using a Module
Creating a Module with the Puppet-Module Tool
Puppet Ruby DSL
The Problem: Resources from Data
Declaring Resources from Data
Cucumber Puppet
Installing Cucumber Puppet
Writing a Story
Testing the Basic Catalog Policy
Validating Specific Resources
Summary
Resources
CHAPTER 9: Reporting with Puppet
Getting Started
Configuring Reporting
Report Processors
log
tagmail
rrdgraph
http
custom reporting
Summary
Resources
CHAPTER 10: Extending Facter and Puppet
Writing and Distributing Custom Facts
Configuring Puppet for Custom Facts
Writing Custom Facts
Testing the Facts
Developing Custom Types, Providers and Functions
Configuring Puppet for Types, Providers and Functions
Writing a Puppet Type and Provider
Writing a Parsed File Type and Provider
A More Complex Type and Provider
Testing Types and Providers
Writing Custom Functions
Summary
Resources
CHAPTER 11: Marionette Collective
Installing and Configuring RabbitMQ
Installing RabbitMQ on Debian
Installing RabbitMQ on RHEL / CentOS
RabbitMQ Configuration
Installing MCollective on Debian and Ubuntu
Installing MCollective on Enterprise Linux
MCollective Server Configuration
MCollective Plugins
Puppet Agent MCollective Plugins
The Facter Plugin for MCollective
Additional Plugins
Addressing Hosts with Metadata
Summary
Resources
APPENDIX A: Working with Puppet
Getting Support and Training
Resources
Web
Mailing Lists
Puppet Module Forge
Puppet Enterprise
Support (commercial)
Training
IRC
Index
← Prev
Back
Next →
← Prev
Back
Next →