Book description
If you're a system administrator, developer, or site reliability engineer responsible for handling hundreds or even thousands of nodes in your network, the Puppet configuration management tool will make your job a whole lot easier. This practical guide shows you what Puppet does, how it works, and how it can provide significant value to your organization. Through hands-on tutorials, DevOps engineer Jo Rhett demonstrates how Puppet manages complex and distributed components to ensure service availability.
Publisher resources
Table of contents
- Foreword
- Preface
- Introduction
- I. Controlling with Puppet Apply
- 1. Thinking Declarative
-
2. Creating a Learning Environment
- Installing Vagrant
- Starting a Bash Shell
- Downloading a Box
- Cloning the Learning Repository
- Install the Vagrant vbguest Plugin
- Initializing the Vagrant Setup
- Verifying the /vagrant Filesystem
- Initializing Non-Vagrant Systems
- Installing Some Helpful Utilities
- Choosing a Text Editor
- Reviewing the Learning Environment
- 3. Installing Puppet
- 4. Writing Manifests
-
5. Using the Puppet Configuration Language
- Defining Variables
- Finding Facts
- Calling Functions in Manifests
- Using Variables in Resources
- Defining Attributes with a Hash
- Declaring Multiple Resource Titles
- Declaring Multiple Resource Bodies
- Modifying with Operators
- Using Comparison Operators
- Evaluating Conditional Expressions
- Matching Regular Expressions
- Building Lambda Blocks
- Looping Through Iterations
- Reviewing Puppet Configuration Language
- 6. Controlling Resource Processing
- 7. Expressing Relationships
- 8. Upgrading from Puppet 3
- 9. Wrap-Up of Puppet Basics
- II. Creating Puppet Modules
- 10. Creating a Test Environment
- 11. Separating Data from Code
- 12. Using Modules
-
13. Designing a Custom Module
- Choosing a Module Name
- Generating a Module Skeleton
- Understanding Module Structure
- Installing the Module
- Creating a Class Manifest
- Declaring Class Resources
- Accepting Input
- Sharing Files
- Testing File Synchronization
- Synchronizing Directories
- Parsing Templates
- Testing the Module
- Peeking Beneath the Hood
- Best Practices for Module Design
- Reviewing Custom Modules
- 14. Improving the Module
- 15. Extending Modules with Plugins
- 16. Documenting Modules
- 17. Testing Modules
- 18. Publishing Modules
- III. Using a Puppet Server
- 19. Preparing for a Puppet Server
- 20. Creating a Puppet Master
- 21. Creating a Puppet Server
- 22. Connecting a Node
- 23. Migrating an Existing Puppet Master
- 24. Utilizing Advantages of a Puppet Server
- 25. Managing TLS Certificates
- 26. Growing Your Puppet Deployment
- IV. Integrating Puppet
- 27. Tracking Puppet Status with Dashboards
- 28. Running the Puppet Agent on Windows
-
29. Customizing Environments
- Understanding Environment Isolation
- Enabling Directory Environments
- Assigning Environments to Nodes
- Configuring an Environment
- Using Environment Data
- Strategizing How to Use Environments
- Managing Environments with r10k
- Invalidating the Environment Cache
- Restarting JRuby When Updating Plugins
- Reviewing Environments
- 30. Controlling Puppet with MCollective
-
31. Managing Network Infrastructure with Puppet
-
Managing Network Devices with Puppet Device
- Enabling SSH on the Switch
- Configuring the Puppet Proxy Agent
- Installing the Device_Hiera Module
- Defining Resource Defaults in Hiera
- Centralizing VLAN Configuration
- Applying Default Configs to Interfaces
- Customizing Interface Configurations
- Testing Out the Switch Configuration
- Adding Resource Types and Providers
- Merging Defaults with Other Resources
- Using the NetDev Standard Library
- Puppetizing Cisco Nexus Switches
-
Puppetizing Juniper Devices
- Supported Devices
- Installing Modules on the Puppet Server
- Preparing the Junos Device
- Installing the Junos Puppet Agent
- Creating the Puppet User
- Adjusting Physical Interface Settings
- Simplifying Layer-2 VLANs
- Enabling Link Aggregation
- Defining Ad Hoc Configuration Parameters
- Distributing Junos Event Scripts
- Running Puppet Automatically
- Troubleshooting
- Best Practices for Network Devices
- Reviewing Network Devices
-
Managing Network Devices with Puppet Device
- 32. Assimilating Puppet Best Practices
- 33. Finding Support Resources
- Afterword
- A. Installing Puppet on Other Platforms
- B. Configuring Firewalls on Other Platforms
- C. Installing Ruby
- Index
Product information
- Title: Learning Puppet 4
- Author(s):
- Release date: April 2016
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491907665
You might also like
book
Pro Puppet, Second Edition
Pro Puppet, Second Edition, now updated for Puppet 3, is an in-depth guide to installing, using, …
book
Managing Infrastructure with Puppet
Get started with Puppet, and learn how this popular configuration management framework helps you automate your …
article
Reinventing the Organization for GenAI and LLMs
Previous technology breakthroughs did not upend organizational structure, but generative AI and LLMs will. We now …
book
Mastering Puppet 5
Leverage Puppet 5 for medium to large scale enterprise deployment. Key Features Use and deploy Puppet …