Puppet: Mastering Infrastructure Automation

Start pulling the strings of your IT infrastructure effectively with Puppet – learn how to configure, customize and manage your systems more intelligently in an enterprise deployment
Preview in Mapt
Code Files

Puppet: Mastering Infrastructure Automation

Felix Frank et al.

Start pulling the strings of your IT infrastructure effectively with Puppet – learn how to configure, customize and manage your systems more intelligently in an enterprise deployment
Mapt Subscription
FREE
$29.99/m after trial
eBook
$47.60
RRP $67.99
Save 29%
Print + eBook
$84.99
RRP $84.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$47.60
$84.99
$29.99p/m after trial
RRP $67.99
RRP $84.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Puppet: Mastering Infrastructure Automation Book Cover
Puppet: Mastering Infrastructure Automation
$ 67.99
$ 47.60
Mastering Puppet for Large Infrastructures [Video] Book Cover
Mastering Puppet for Large Infrastructures [Video]
$ 109.99
$ 93.50
Buy 2 for $35.00
Save $142.98
Add to Cart
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 

Book Details

ISBN 139781788399708
Paperback796 pages

Book Description

Puppet is a configuration management tool that allows you to automate all your IT configurations, giving you control. It was written for and by system administrators to manage large numbers of systems efficiently and prevent configuration drifts. Puppet gives you control of what you do to each node, when you do it, and how you do it.This Learning Path will take you from the basics of Puppet to extending it and then mastering it. We will start off with a primer on Puppet, its installation and get a sneak peek under its hood. We will then move on to designing and deploying your Puppet architecture, learning best practices for writing reusable and maintainable code, and executing, testing, and deploying Puppet across your systems. Finally, we will deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously.This course is based on the following books:

  1. Puppet 4 Essentials - Second Edition
  2. Extending Puppet - Second Edition
  3. Mastering Puppet - Second Edition

Table of Contents

Chapter 1: Writing Your First Manifests
Getting started
Introducing resources and properties
Interpreting the output of the puppet apply command
Adding control structures in manifests
Using variables
Controlling the order of evaluation
Implementing resource interaction
Examining the most notable resource types
Summary
Chapter 2: The Master and Its Agents
The Puppet Master
Setting up the Puppet Agent
Performance considerations
Using Phusion Passenger with Nginx
Completing the stack with PuppetDB
Troubleshooting SSL issues
Summary
Chapter 3: A Peek under the Hood – Facts, Types, and Providers
Summarizing systems with Facter
Understanding the type system
Substantiating the model with providers
Putting it all together
Summary
Chapter 4: Modularizing Manifests with Classes and Defined Types
Introducing classes and defined types
Structured design patterns
Including classes from defined types
Establishing relationships among containers
Making classes more flexible through parameters
Summary
Chapter 5: Extending Your Puppet Infrastructure with Modules
An overview of Puppet's modules
Maintaining environments
Building a specific module
Finding helpful Forge modules
Summary
Chapter 6: Leveraging the Full Toolset of the Language
Templating dynamic configuration files
Creating virtual resources
Exporting resources to other agents
Overriding resource parameters
Avoiding antipatterns
Summary
Chapter 7: New Features from Puppet 4
Upgrading to Puppet 4
Using the type system
Learning lambdas and functions
Creating Puppet 4 functions
Leveraging the new template engine
Handling multiline with HEREDOC
Breaking old practices
Summary
Chapter 8: Separating Data from Code Using Hiera
Understanding the need for separate data storage
Structuring configuration data in a hierarchy
Retrieving and using Hiera values in manifests
Converting resources to data
Debugging Hiera lookups
Implementing the Roles and Profiles pattern
Summary
Chapter 9: Puppet Essentials
The Puppet ecosystem
Puppet components
Installing and configuring Puppet
Puppet in action
Variables, facts, and scopes
Meta parameters
Managing order and dependencies
Reserved names and allowed characters
Conditionals
Comparison operators
Iteration and lambdas
Exported resources
Modules
Restoring files from a filebucket
Summary
Chapter 10: Managing Puppet Data with Hiera
Installing and configuring Hiera
Working with the command line on a YAML backend
Using Hiera in Puppet
Additional Hiera backends
Using Hiera as an ENC
Summary
Chapter 11: Introducing PuppetDB
Installation and configuration
Dashboards
PuppetDB API
Querying PuppetDB for fun and profit
The puppetdbquery module
How Puppet code may change in the future
Summary
Chapter 12: Designing Puppet Architectures
Components of a Puppet architecture
The Foreman
Roles and profiles
The data and the code
Sample architectures
Summary
Chapter 13: Using and Writing Reusable Modules
Modules layout evolution
The parameters dilemma
Reusability patterns
Summary
Chapter 14: Higher Abstraction Modules
The OpenStack example
An approach to reusable stack modules
Tiny Puppet
Summary
Chapter 15: Puppet Migration Patterns
Examining potential scenarios and approaches
Patterns for extending Puppet coverage
Things change
Summary
Chapter 16: Code Workflow Management
Write Puppet code
Git workflows
Code review
Testing Puppet code
Deploying Puppet code
Propagating Puppet changes
Puppet continuous integration
Summary
Chapter 17: Scaling Puppet Infrastructures
Scaling Puppet
Measuring performance
Summary
Chapter 18: Extending Puppet
Anatomy of a Puppet run, under the hood
Puppet extension alternatives
Custom functions
Custom facts
Custom types and providers
Custom report handlers
Custom faces
Summary
Chapter 19: Beyond the System
Puppet on network equipment
Puppet for cloud and virtualization
Puppet on storage devices
Puppet and Docker
Summary
Chapter 20: Future Puppet
Changing the serialization format
Direct Puppet
Other changes
Beyond Puppet 4.x
Summary
Chapter 21: Dealing with Load/Scale
Divide and conquer
Conquer by dividing
Summary
Chapter 22: Organizing Your Nodes and Data
Getting started
Organizing the nodes with an ENC
Hiera
Summary
Chapter 23: Git and Environments
Environments
Git
Git for everyone
Summary
Chapter 24: Public Modules
Getting modules
Using GitHub for public modules
Modules from the Forge
Using Librarian
Using r10k
Using Puppet-supported modules
Summary
Chapter 25: Custom Facts and Modules
Module manifest files
Custom facts
CFacter
Summary
Chapter 26: Custom Types
Parameterized classes
Defined types
Types and providers
Summary
Chapter 27: Reporting and Orchestration
Turning on reporting
Store
Logback
Internet relay chat
Foreman
Puppet GUIs
mcollective
Ansible
Summary
Chapter 28: Exported Resources
Configuring PuppetDB – using the Forge module
Manually installing PuppetDB
Exported resource concepts
Resource tags
Exported SSH keys
Putting it all together
Summary
Chapter 29: Roles and Profiles
Design pattern
Creating an example CDN role
Dealing with exceptions
Summary
Chapter 30: Troubleshooting
Connectivity issues
Catalog failures
Debugging
Summary

What You Will Learn

  • Write and employ individual Puppet manifests
  • Understand how Puppet implements system abstraction
  • Use Puppet to manage network, cloud, and virtualization devices
  • Manage and test the Puppet code workflow
  • Tweak, hack, and adapt the Puppet extension points
  • Use exported resources to orchestrate change between machines
  • Debug a puppetserver using Java techniques

Authors

Table of Contents

Chapter 1: Writing Your First Manifests
Getting started
Introducing resources and properties
Interpreting the output of the puppet apply command
Adding control structures in manifests
Using variables
Controlling the order of evaluation
Implementing resource interaction
Examining the most notable resource types
Summary
Chapter 2: The Master and Its Agents
The Puppet Master
Setting up the Puppet Agent
Performance considerations
Using Phusion Passenger with Nginx
Completing the stack with PuppetDB
Troubleshooting SSL issues
Summary
Chapter 3: A Peek under the Hood – Facts, Types, and Providers
Summarizing systems with Facter
Understanding the type system
Substantiating the model with providers
Putting it all together
Summary
Chapter 4: Modularizing Manifests with Classes and Defined Types
Introducing classes and defined types
Structured design patterns
Including classes from defined types
Establishing relationships among containers
Making classes more flexible through parameters
Summary
Chapter 5: Extending Your Puppet Infrastructure with Modules
An overview of Puppet's modules
Maintaining environments
Building a specific module
Finding helpful Forge modules
Summary
Chapter 6: Leveraging the Full Toolset of the Language
Templating dynamic configuration files
Creating virtual resources
Exporting resources to other agents
Overriding resource parameters
Avoiding antipatterns
Summary
Chapter 7: New Features from Puppet 4
Upgrading to Puppet 4
Using the type system
Learning lambdas and functions
Creating Puppet 4 functions
Leveraging the new template engine
Handling multiline with HEREDOC
Breaking old practices
Summary
Chapter 8: Separating Data from Code Using Hiera
Understanding the need for separate data storage
Structuring configuration data in a hierarchy
Retrieving and using Hiera values in manifests
Converting resources to data
Debugging Hiera lookups
Implementing the Roles and Profiles pattern
Summary
Chapter 9: Puppet Essentials
The Puppet ecosystem
Puppet components
Installing and configuring Puppet
Puppet in action
Variables, facts, and scopes
Meta parameters
Managing order and dependencies
Reserved names and allowed characters
Conditionals
Comparison operators
Iteration and lambdas
Exported resources
Modules
Restoring files from a filebucket
Summary
Chapter 10: Managing Puppet Data with Hiera
Installing and configuring Hiera
Working with the command line on a YAML backend
Using Hiera in Puppet
Additional Hiera backends
Using Hiera as an ENC
Summary
Chapter 11: Introducing PuppetDB
Installation and configuration
Dashboards
PuppetDB API
Querying PuppetDB for fun and profit
The puppetdbquery module
How Puppet code may change in the future
Summary
Chapter 12: Designing Puppet Architectures
Components of a Puppet architecture
The Foreman
Roles and profiles
The data and the code
Sample architectures
Summary
Chapter 13: Using and Writing Reusable Modules
Modules layout evolution
The parameters dilemma
Reusability patterns
Summary
Chapter 14: Higher Abstraction Modules
The OpenStack example
An approach to reusable stack modules
Tiny Puppet
Summary
Chapter 15: Puppet Migration Patterns
Examining potential scenarios and approaches
Patterns for extending Puppet coverage
Things change
Summary
Chapter 16: Code Workflow Management
Write Puppet code
Git workflows
Code review
Testing Puppet code
Deploying Puppet code
Propagating Puppet changes
Puppet continuous integration
Summary
Chapter 17: Scaling Puppet Infrastructures
Scaling Puppet
Measuring performance
Summary
Chapter 18: Extending Puppet
Anatomy of a Puppet run, under the hood
Puppet extension alternatives
Custom functions
Custom facts
Custom types and providers
Custom report handlers
Custom faces
Summary
Chapter 19: Beyond the System
Puppet on network equipment
Puppet for cloud and virtualization
Puppet on storage devices
Puppet and Docker
Summary
Chapter 20: Future Puppet
Changing the serialization format
Direct Puppet
Other changes
Beyond Puppet 4.x
Summary
Chapter 21: Dealing with Load/Scale
Divide and conquer
Conquer by dividing
Summary
Chapter 22: Organizing Your Nodes and Data
Getting started
Organizing the nodes with an ENC
Hiera
Summary
Chapter 23: Git and Environments
Environments
Git
Git for everyone
Summary
Chapter 24: Public Modules
Getting modules
Using GitHub for public modules
Modules from the Forge
Using Librarian
Using r10k
Using Puppet-supported modules
Summary
Chapter 25: Custom Facts and Modules
Module manifest files
Custom facts
CFacter
Summary
Chapter 26: Custom Types
Parameterized classes
Defined types
Types and providers
Summary
Chapter 27: Reporting and Orchestration
Turning on reporting
Store
Logback
Internet relay chat
Foreman
Puppet GUIs
mcollective
Ansible
Summary
Chapter 28: Exported Resources
Configuring PuppetDB – using the Forge module
Manually installing PuppetDB
Exported resource concepts
Resource tags
Exported SSH keys
Putting it all together
Summary
Chapter 29: Roles and Profiles
Design pattern
Creating an example CDN role
Dealing with exceptions
Summary
Chapter 30: Troubleshooting
Connectivity issues
Catalog failures
Debugging
Summary

Book Details

ISBN 139781788399708
Paperback796 pages
Read More

Read More Reviews

Recommended for You

Mastering Puppet for Large Infrastructures [Video] Book Cover
Mastering Puppet for Large Infrastructures [Video]
$ 109.99
$ 93.50
Chef: Powerful Infrastructure Automation Book Cover
Chef: Powerful Infrastructure Automation
$ 67.99
$ 47.60
Chef Infrastructure Automation Cookbook - Second Edition Book Cover
Chef Infrastructure Automation Cookbook - Second Edition
$ 35.99
$ 25.20
Chef Infrastructure Automation Cookbook Book Cover
Chef Infrastructure Automation Cookbook
$ 26.99
$ 18.90
Mastering Puppet - Second Edition Book Cover
Mastering Puppet - Second Edition
$ 39.99
$ 28.00
Mastering Puppet Book Cover
Mastering Puppet
$ 26.99
$ 18.90