<p><span>Harness the power of this popular declarative configuration management tool to automate your infrastructure configuration</span></p><p><span>Purchase of the print or Kindle book includes a free PDF eBook</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Understand the core con
Puppet 8 for DevOps Engineers: Automate your infrastructure at an enterprise scale
โ Scribed by David Sandilands
- Publisher
- Packt Publishing
- Tongue
- English
- Leaves
- 416
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
Harness the power of this popular declarative configuration management tool to automate your infrastructure configuration
Purchase of the print or Kindle book includes a free PDF eBook
Key Features
- Understand the core concepts and best approaches to the latest version of the Puppet language
- Learn the key components of the Puppet platform and see how they deploy and apply Puppet code to infrastructure
- Discover approaches to collaborative working by using the right structure of code and deployment
Book Description
As DevOps and platform engineering drive the demand for robust internal development platforms, the need for infrastructure configuration tools has never been greater. Puppet, a powerful configuration management tool, is widely used by leading enterprises and boasts a thriving open source community.
This book provides a comprehensive explanation of both the Puppet language and the platform. It begins by helping you grasp the basic concepts and approach of Puppet as a stateful language, and then builds up to explaining how to structure Puppet code to scale and allow flexibility and collaboration among teams. As you advance, you'll find out how the Puppet platform allows the management and reporting of infrastructure configuration. The book also shows you how the platform can be integrated with other tooling, such as ServiceNow and Splunk. The concluding chapters help you implement Puppet to fit in heavily regulated and audited environments as well as modern hybrid cloud environments.
By the end of this book, you'll have gained a solid understanding of the capabilities of both the Puppet language and platform, and you will have learned how to structure and scale Puppet to create a platform to provide enterprise-grade infrastructure configuration.
What you will learn
- Find out how to structure Puppet code and data to scale and be secure
- Discover the core components of the Puppet platform and how to achieve performance
- Get to grips with classifying infrastructure and deploying code for different environments
- Understand how Bolt can provide procedural orchestration alongside Puppet code
- Use Puppet's integrations and Forge modules that allow Puppet to integrate with other systems
- Adopt approaches to adoption to ensure your Puppet implementation will succeed in regulated environments, the cloud, and with change control
Who this book is for
This book is for DevOps engineers looking to automate infrastructure with Puppet as a configuration management tool. It will allow both beginners and current Puppet users to understand the full power of the Puppet language and platform. A basic understanding of Unix system administration and Windows systems and core development concepts such as revision control tools like git, virtualization, testing, and coding tooling like vi or Visual Studio code is a prerequisite.
Table of Contents
- Puppet Concepts and Practices
- Major Changes, Useful Tools, and References
- Puppet Classes, Resource Types, and Providers
- Variables and Data Types
- Facts and Functions
- Relationships, Ordering, and Scope
- Templating, Iterating, and Conditionals
- Developing and Managing Modules
- Handling Data with Puppet
- Puppet Platform Parts and Functions
- Classification and Release Management
- Bolt for Orchestration
- Taking Puppet Server Further
- A Brief Overview of Puppet Enterprise
- Approaches to Adoption
โฆ Table of Contents
Cover
Title Page
Copyright and Credits
Dedication
Foreword
Contributors
Table of Contents
Preface
Part 1 โ Introduction to Puppet and the Basics of the Puppet Language
Chapter 01: Puppet Concepts and Practices
Puppetโs history and relationship to DevOps
Puppet as a declarative and idempotent language
Key terms in the Puppet language
Puppet as a platform
Common misconceptions
Summary
Chapter 02: Major Changes, Useful Tools, and References
Technical requirements
Major changes since Puppet 5
Puppet 5
Puppet 6
Puppet 7
Legacy Puppet patterns
IDEs and tools to assist in Puppet development
How to deploy your Puppet lab and development tools
Mac desktop
Windows desktop
Linux desktop โ RPM-based
Linux desktop โ APT-based
Configuring tools
References and further research
Summary
Chapter 03: Puppet Classes, Resource Types, and Providers
Technical requirements
Classes and defined types
Including a class
Defined types
Namespaces
Resources, types, and providers
Lab
The package type
The file type
Service types
Lab
Core resource types
The exec type
The Augeas type
The notify type
Metaparameters and advanced resources
audit
tag
The resources metatype
Arrays of titles
Overriding parameters
Attribute splats
Lab
Anti-patterns
Abstract resource types
Defaults
schedule
Summary
Chapter 04: Variables and Data Types
Technical requirements
Variables
Naming
Reserved variable names
Interpolation
Data types
Strings
Numbers
undef
Booleans
Regexp
Lab
Arrays and hashes
Assigning arrays
Accessing an array index
Accessing a subset of an array
Nested array
Array operators
Array data type
Assigning hashes
Accessing hash values
Nested hashes
Hash operators
Hash data type
Mixing hashes and arrays
Lab
Abstract data types, including Sensitive
Prefixes
Patterns
Arrays and hashes
Parent data types
Lab
Scope
Summary
Chapter 05: Facts and Functions
Technical requirements
Facts and Facter
Custom facts and external facts
External facts
Custom facts
Lab
Functions
Statement functions
Prefix and chained functions
A selection of built-in functions
stdlib module functions
Lab
Deferred functions
Summary
Part 2 โ Structuring, Ordering, and Managing Data in the Puppet Language
Chapter 06: Relationships, Ordering, and Scope
Technical requirements
Relationships and ordering
Containment
Scope
Best practices and pitfalls
Lab โ overview of relationships, ordering, and scope
Summary
Chapter 07: Templating, Iterating, and Conditionals
Technical requirement
Templating formats in Puppet โ EPP and ERB
EPP templates
ERB templates
EPP and ERB comparison
Iteration and loops
Iterative loops
Data transformation
Nested data
Conditional statements
If and unless statements
Case statement
Selectors
Capture variables
Lab โ creating and testing templates containing loops and conditions
Summary
Chapter 08: Developing and Managing Modules
Technical requirements
What is a module and what is in it?
Lab โ reviewing the apache module
Roles and profiles method
Writing and testing a module using the PDK
Testing with RSpec using the PDK
The describe and context keywords
Examples, expectations, and matchers
Parameters and preconditions
Relationships
Data from Hiera and facts
Managing dependencies with fixtures
Coverage reports
Further research and tools for RSpec
Serverspec
Understanding Puppet Forge
Lab โ creating a module and testing it
Summary
Chapter 09: Handling Data with Puppet
Technical requirements
What is Hiera?
Using the built-in backends
Accessing data
Using custom backends
Hiera layers
Lab โ add data to a module
Deciding when to use static code or dynamic data
Keeping data secure
Lab โ use eyaml to store a secret
Pitfalls, gotchas, and issues
Lab โ troubleshoot Hiera
Summary
Part 3 โ The Puppet Platform and Bolt Orchestration
Chapter 10: Puppet Platform Parts and Functions
Technical requirements
Puppet platform installation and versioning
Puppet Server
The embedded web server
The Puppet API service
The Admin API
CA
JRuby interpreters
Configuration and logs for Puppet Server
The Puppet agent-to-server lifecycle
Lab โ monitoring certificate signing logging
PuppetDB and PostgreSQL
Lab โ querying PuppetDB
Scaling with compilers
Lab โ viewing compiler and load balancer configuration
Summary
Chapter 11: Classification and Release Management
Technical requirements
Puppet environments
Environment directories and paths
Environment configuration files
Environment validation and deployment
Understanding node classification
Node definitions
Classifying nodes with Hiera
ENC scripts
PE classifier
Recommended approach
Puppet runs
Managing and deploying Puppet code
Creating a workflow
Lab โ classifying and deploying code
Summary
Chapter 12: Bolt for Orchestration
Technical requirements
Exploring and configuring Bolt
Connecting to clients with transports and targets
Running ad hoc commands with Bolt
Output and debugging
Understanding the structure of projects
Configuring a project
Configuring transports
System level and legacy
Introducing tasks and plans
Creating tasks
Creating Puppet plans
Constructing targets
Using plan functions
Logging and results
Handling errors
Managing data sources
Documenting plan metadata
Plan testing
Introducing YAML plans
Plugins
Reference plugins
Secret plugins
Puppet library
Lab โ creating and using a Bolt project
Summary
Chapter 13: Taking Puppet Server Further
Technical requirements
Logging and status
Exploring log locations
Forwarding server logs
Report processors
Accessing status APIs
Metrics, tuning, and scaling
Exploring metrics dashboards
Identifying and avoiding common issues
Lab โ configuring metric dashboards
External data provider pattern
Understanding external data provider components
External data provider implementations
Lab โ hands-on with Splunk and Puppet Data Service
Summary
Part 4 โ Puppet Enterprise and Approaches to the Adoption of Puppet
Chapter 14: A Brief Overview of Puppet Enterprise
Technical requirements
What is Puppet Enterprise?
Exploring the Puppet Enterprise console and services
Puppet Server
Introducing Puppet web console components
Using Bolt with Puppet Enterprise
Orchestrator services
Running jobs
Configuring performance settings
Automating deployment and reference architectures
Understanding supported architectures
Deployment and configuration
Puppet Enterprise-related projects and tooling
Monitoring and troubleshooting Puppet Enterprise infrastructure
Managing deployments and ensuring compliance
Lab โ Puppet Enterprise extensions and configuration
Summary
Chapter 15: Approaches to Adoption
Scope and focus
Managing heritage estates with no-op mode
A platform engineering approach
Adoption in regulated environments
Moving to the cloud
Summary
Index
About Packt
Other Books You May Enjoy
๐ SIMILAR VOLUMES
<p><span>Harness the power of this popular declarative configuration management tool to automate your infrastructure configuration</span></p><p><span>Purchase of the print or Kindle book includes a free PDF eBook</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Understand the core con
Get started with Puppet, and learn how this popular configuration management framework helps you automate your servers. This concise introduction shows you how to use Puppet's tools and templates to organize and execute configuration plans on Linux, Unix, and Windows servers. Through code samples an
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. About This Book - Step-by-step instructions to jump start your Puppet deployment and automate your IT configurations
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. About This Book - Step-by-step instructions to jump start your Puppet deployment and automate your IT configurations
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. About This Book - Step-by-step instructions to jump start your Puppet deployment and automate your IT configurations