Puppet 2.7 Cookbook

Build reliable, scalable, secure, high-performance systems to fully utilize the power of cloud computing with this book and ebook

Puppet 2.7 Cookbook

Cookbook
John Arundel

Build reliable, scalable, secure, high-performance systems to fully utilize the power of cloud computing with this book and ebook
$26.99
$44.99
RRP $26.99
RRP $44.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free Sample

Book Details

ISBN 139781849515382
Paperback300 pages

About This Book

  • Shows you how to use 100 powerful advanced features of Puppet, with detailed step-by-step instructions
  • Covers all the popular tools and frameworks used with Puppet: Dashboard, Foreman, MCollective, and more
  • Includes the latest features and updates in Puppet 2.7
  • Written in a simple, practical style by a professional systems administrator and Puppet expert, every recipe has detailed step-by-step instructions showing you the exact commands and configuration settings you need

Who This Book Is For

The book assumes that the reader already has a working Puppet installation and perhaps has written some basic manifests or adapted some published modules. It also requires some experience of Linux systems administration, including familiarity with the command line, file system, and text editing. No programming experience is required.

Table of Contents

Chapter 1: Puppet Infrastructure
Using version control
Using commit hooks
Deploying changes with Rake
Configuring Puppet's file server
Running Puppet from cron
Using autosign
Pre-signing certificates
Retrieving files from Puppet's filebucket
Scaling Puppet using Passenger
Creating decentralized Puppet architecture
Chapter 2: Monitoring, Reporting, and Troubleshooting
Generating reports
E-mailing log messages containing specific tags
Creating graphical reports
Producing automatic HTML documentation
Drawing dependency graphs
Testing your Puppet manifests
Doing a dry run
Detecting compilation errors
Understanding Puppet errors
Logging command output
Logging debug messages
Inspecting configuration settings
Using tags
Using run stages
Using environments
Chapter 3: Puppet Language and Style
Using community Puppet style
Using modules
Using standard naming conventions
Using embedded Ruby
Writing manifests in pure Ruby
Iterating over multiple items
Writing powerful conditional statements
Using regular expressions in if statements
Using selectors and case statements
Testing whether values are contained in strings
Using regular expression substitutions
Chapter 4: Writing Better Manifests
Using arrays of resources
Using define resources
Using dependencies
Using node inheritance
Using class inheritance and overriding
Passing parameters to classes
Writing reusable, cross-platform manifests
Getting information about the environment
Importing dynamic information
Importing data from CSV files
Passing arguments to shell commands
Chapter 5: Working with Files and Packages
Making quick edits to config files
Using Augeas to automatically edit config files
Building config files using snippets
Using ERB templates
Using array iteration in templates
Installing packages from a third-party repository
Setting up an APT package repository
Setting up a gem repository
Building packages automatically from source
Comparing package versions
Chapter 6: Users and Virtual Resources
Using virtual resources
Managing users with virtual resources
Managing users' SSH access
Managing users' customization files
Efficiently distributing cron jobs
Running a command when a file is updated
Using host resources
Using multiple file sources
Distributing directory trees
Cleaning up old files
Using schedules with resources
Auditing resources
Temporarily disabling resources
Managing timezones
Chapter 7: Applications
Managing Apache servers
Creating Apache virtual hosts
 Creating Nginx virtual hosts
Creating MySQL databases and users
Managing Drupal sites
Managing Rails applications
Chapter 8: Servers and Cloud Infrastructure
Deploying a Nagios monitoring server
Building high-availability services using Heartbeat
Managing NFS servers and file shares
Using HAProxy to load-balance multiple web servers
Managing firewalls with iptables
Managing EC2 instances
Managing virtual machines with Vagrant
Chapter 9: External Tools and the Puppet Ecosystem
Creating custom Facter facts
Executing commands before and after Puppet runs
Generating manifests from shell sessions
Generating manifests from a running system
Using Puppet Dashboard
Using Foreman
Using MCollective
Using public modules
Using an external node classifier
Creating your own resource types
Creating your own providers

What You Will Learn

  • Make Puppet reliable, performant, and scalable
  • Produce eye-catching reports and information for management
  • Understand common error messages and troubleshooting common problems
  • Manage large networks with tools like Foreman and MCollective
  • Use classes and inheritance to write powerful Puppet code
  • Deploy configuration files and templates for lightning-fast installations
  • Use virtual machines to build test and staging environments, and production systems on cloud platforms such as EC2
  • Automate every aspect of your systems including provisioning, deployment and change management

 

In Detail

A revolution is coming to IT operations. Configuration management tools can build servers in seconds, and automate your entire network. Tools like Puppet are essential to take full advantage of the power of cloud computing, and build reliable, scalable, secure, high-performance systems.

The book takes you beyond the basics to explore the full power of Puppet, showing you in detail how to tackle a variety of real-world problems and applications. At every step it shows you exactly what commands you need to type, and includes full code samples for every recipe.

The book takes the reader from a basic knowledge of Puppet to a complete and expert understanding of Puppet’s latest and most advanced features, community best practices, writing great manifests, scaling and performance, and how to extend Puppet by adding your own providers and resources.

The book includes real examples from production systems and techniques that are in use in some of the world’s largest Puppet installations, including a distributed Puppet architecture and a high-performance Puppetmaster solution using Apache and Passenger.

Authors

Table of Contents

Chapter 1: Puppet Infrastructure
Using version control
Using commit hooks
Deploying changes with Rake
Configuring Puppet's file server
Running Puppet from cron
Using autosign
Pre-signing certificates
Retrieving files from Puppet's filebucket
Scaling Puppet using Passenger
Creating decentralized Puppet architecture
Chapter 2: Monitoring, Reporting, and Troubleshooting
Generating reports
E-mailing log messages containing specific tags
Creating graphical reports
Producing automatic HTML documentation
Drawing dependency graphs
Testing your Puppet manifests
Doing a dry run
Detecting compilation errors
Understanding Puppet errors
Logging command output
Logging debug messages
Inspecting configuration settings
Using tags
Using run stages
Using environments
Chapter 3: Puppet Language and Style
Using community Puppet style
Using modules
Using standard naming conventions
Using embedded Ruby
Writing manifests in pure Ruby
Iterating over multiple items
Writing powerful conditional statements
Using regular expressions in if statements
Using selectors and case statements
Testing whether values are contained in strings
Using regular expression substitutions
Chapter 4: Writing Better Manifests
Using arrays of resources
Using define resources
Using dependencies
Using node inheritance
Using class inheritance and overriding
Passing parameters to classes
Writing reusable, cross-platform manifests
Getting information about the environment
Importing dynamic information
Importing data from CSV files
Passing arguments to shell commands
Chapter 5: Working with Files and Packages
Making quick edits to config files
Using Augeas to automatically edit config files
Building config files using snippets
Using ERB templates
Using array iteration in templates
Installing packages from a third-party repository
Setting up an APT package repository
Setting up a gem repository
Building packages automatically from source
Comparing package versions
Chapter 6: Users and Virtual Resources
Using virtual resources
Managing users with virtual resources
Managing users' SSH access
Managing users' customization files
Efficiently distributing cron jobs
Running a command when a file is updated
Using host resources
Using multiple file sources
Distributing directory trees
Cleaning up old files
Using schedules with resources
Auditing resources
Temporarily disabling resources
Managing timezones
Chapter 7: Applications
Managing Apache servers
Creating Apache virtual hosts
 Creating Nginx virtual hosts
Creating MySQL databases and users
Managing Drupal sites
Managing Rails applications
Chapter 8: Servers and Cloud Infrastructure
Deploying a Nagios monitoring server
Building high-availability services using Heartbeat
Managing NFS servers and file shares
Using HAProxy to load-balance multiple web servers
Managing firewalls with iptables
Managing EC2 instances
Managing virtual machines with Vagrant
Chapter 9: External Tools and the Puppet Ecosystem
Creating custom Facter facts
Executing commands before and after Puppet runs
Generating manifests from shell sessions
Generating manifests from a running system
Using Puppet Dashboard
Using Foreman
Using MCollective
Using public modules
Using an external node classifier
Creating your own resource types
Creating your own providers

Book Details

ISBN 139781849515382
Paperback300 pages
Read More