Puppet:Mastering Infrastructure Automation
Felix Frank Martin Alfke Alessandro Franceschi Jaime Soriano Pastor Thomas Uphillis更新时间:2021-07-09 18:59:40
最新章节:Indexcoverpage
Puppet: Mastering Infrastructure Automation
Copyright
Credits
Preface
What this learning path covers
What you need for this learning path
Who this learning path is for
Customer support
Part 1. Module 1
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
Part 2. 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
Part 3. 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
Appendix A. Bibliography
Index
更新时间:2021-07-09 18:59:40