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

Instantly access this course right now and get the skills you need in 2016

With unlimited access to a constantly growing library of over 3,500 courses, a subscription to Mapt gives you everything you need to get that next promotion or to land that dream job. Cancel anytime.

+ Collection
Free Sample

Book Details

ISBN 139781849515382
Paperback300 pages

Book Description

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.

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

 

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

Read More Reviews