Puppet: Mastering Infrastructure Automation

Author: Felix Frank;Martin Alfke;Alessandro Franceschi  

Publisher: Packt Publishing‎

Publication year: 2017

E-ISBN: 9781788397728

P-ISBN(Paperback): 9781788399708

Subject: TP2 自动化技术及设备

Keyword: 自动化技术及设备

Language: ENG

Access to resources Favorite

Disclaimer: Any content in publications that violate the sovereignty, the constitution or regulations of the PRC is not accepted or approved by CNPIEC.

Puppet: Mastering Infrastructure Automation

Chapter

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

Module 2

Chapter 1: 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 2: 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 3: 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 4: Designing Puppet Architectures

Components of a Puppet architecture

The Foreman

Roles and profiles

The data and the code

Sample architectures

Summary

Chapter 5: Using and Writing Reusable Modules

Modules layout evolution

The parameters dilemma

Reusability patterns

Summary

Chapter 6: Higher Abstraction Modules

The OpenStack example

An approach to reusable stack modules

Tiny Puppet

Summary

Chapter 7: Puppet Migration Patterns

Examining potential scenarios and approaches

Patterns for extending Puppet coverage

Things change

Summary

Chapter 8: Code Workflow Management

Write Puppet code

Git workflows

Code review

Testing Puppet code

Deploying Puppet code

Propagating Puppet changes

Puppet continuous integration

Summary

Chapter 9: Scaling Puppet Infrastructures

Scaling Puppet

Measuring performance

Summary

Chapter 10: 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 11: Beyond the System

Puppet on network equipment

Puppet for cloud and virtualization

Puppet on storage devices

Puppet and Docker

Summary

Chapter 12: Future Puppet

Changing the serialization format

Direct Puppet

Other changes

Beyond Puppet 4.x

Summary

Module 3

Chapter 1: Dealing with Load/Scale

Divide and conquer

Conquer by dividing

Summary

Chapter 2: Organizing Your Nodes and Data

Getting started

Organizing the nodes with an ENC

Hiera

Summary

Chapter 3: Git and Environments

Environments

Git

Git for everyone

Summary

Chapter 4: Public Modules

Getting modules

Using GitHub for public modules

Modules from the Forge

Using Librarian

Using r10k

Using Puppet-supported modules

Summary

Chapter 5: Custom Facts and Modules

Module manifest files

Custom facts

CFacter

Summary

Chapter 6: Custom Types

Parameterized classes

Defined types

Types and providers

Summary

Chapter 7: Reporting and Orchestration

Turning on reporting

Store

Logback

Internet relay chat

Foreman

Puppet GUIs

mcollective

Ansible

Summary

Chapter 8: 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 9: Roles and Profiles

Design pattern

Creating an example CDN role

Dealing with exceptions

Summary

Chapter 10: Troubleshooting

Connectivity issues

Catalog failures

Debugging

Summary

Bibliography

Index

The users who browse this book also browse


No browse record.