
Puppet 5 Essentials Third Edition
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Person
Felix Frank has used and programmed computers for most of his life. During and after working on his computer science diploma, he gained experience on the job as a systems administrator, server operator, and open source software developer. He spent 6 years of his 11-year career as a Puppet power user. In parallel, he spent about two years intensifying his studies through ongoing source code contributions and active participation in several conferences.Alfke Martin :
nan
Content
- Cover
- Copyright
- Credits
- About the Authors
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Writing Your First Manifests
- Getting started
- Introducing resources, parameters, and properties
- Interpreting output of the puppet apply command
- Dry testing your manifest
- Using variables
- Variable types
- Data types
- Adding control structures in manifests
- Controlling the order of execution
- Declaring dependencies
- Error propagation
- Avoiding circular dependencies
- Implementing resource interaction
- Examining Puppet core resource types
- The user and group types
- The exec resource type
- The cron resource type
- The mount resource type
- Summary
- Chapter 2: Puppet Server and Agents
- The Puppet server
- Setting up the server machine
- Creating the master manifest
- Inspecting the configuration settings
- Setting up the Puppet agent
- The agent's life cycle
- Renewing an agent's certificate
- Running the agent from cron
- Performance optimizations
- Tuning puppetserver
- Completing the stack with PuppetDB
- The Puppet CA
- Summary
- Chapter 3: A Peek into the Ruby Part of Puppet - Facts, Types, and Providers
- Putting it all together - collecting system information with Facter
- Accessing and using fact values
- Extending Facter with custom facts
- Simplifying things using external facts
- Goals of Facter
- Understanding the type system
- The resource type's life cycle on the agent side
- Command execution control with providers
- Resource types with generic providers
- Summarizing types and providers
- Putting it all together
- Summary
- Chapter 4: Combining Resources in Classes and Defined Types
- Introducing classes and defined types
- Defining and declaring classes
- Creating and using defined types
- Understanding and leveraging the differences
- Design patterns
- Writing comprehensive classes
- Writing component classes
- Using defined types as resource wrappers
- Using defined types as resource multiplexers
- Using defined types as macros
- Exploiting array values using defined types
- Using iterator functions
- Including classes from defined types
- Ordering and events among classes
- Passing events between classes and defined types
- Ordering containers
- Limitations
- The performance implications of container relationships
- Mitigating the limitations
- The anchor pattern
- The contain function
- Making classes more flexible through parameters
- The caveats of parameterized classes
- Preferring the include keyword
- Summary
- Chapter 5: Combining Classes, Configuration Files, and Extensions into Modules
- The contents of Puppet's modules
- Parts of a module
- Module structure
- Documentation in modules
- Managing environments
- Configuring environment locations
- Obtaining and installing modules
- Module best practices
- Putting everything in modules
- Avoiding generalization
- Testing your modules
- Safe testing with environments
- Building a component module
- Naming your module
- Making your module available to Puppet
- Implementing basic module functionality
- Creating utilities for derived manifests
- Adding configuration items
- Allowing customization
- Removing unwanted configuration items
- Dealing with complexity
- Enhancing the agent through plugins
- Replacing a defined type with a native type
- Naming your type
- Creating the resource type's interface
- Designing sensible parameter hooks
- Using resource names
- Adding a provider
- Declaring management commands
- Implementing the basic functionality
- Allowing the provider to prefetch existing resources
- Making the type robust during provisioning
- Enhancing Puppet's system knowledge through facts
- Refining the interface of your module through custom functions
- Making your module portable across platforms
- Finding helpful Forge modules
- Identifying module characteristics
- Summary
- Chapter 6: The Puppet Beginners Advanced Parts
- Building dynamic configuration files
- Learning the template syntax
- Using templates in practice
- Avoiding performance bottlenecks from templates
- Managing file snippets
- Single entry in a section
- Building from multiple snippets
- Using virtual resources
- Realizing resources more flexibly using collectors
- Cross-node configuration with exported resources
- Exporting and collecting resources
- Configuring the master to store exported resources
- Exporting SSH host keys
- Managing hosts files locally
- Automating custom configuration items
- Simplifying the configuration of Nagios
- Maintaining your central firewall
- Removing obsolete exports
- Setting defaults for resource parameters
- Saving redundancy using resource defaults
- Avoiding antipatterns
- Summary
- Chapter 7: New Features from Puppet 4 and 5
- Upgrading to Puppet 4
- Using Puppet 3.8 and environment directories
- The Puppet 4 and 5 master
- Updating the Puppet agent
- Testing Puppet DSL code
- Using the type system
- Learning lambdas and functions
- Creating Puppet 4 functions
- Leveraging the new template engine
- Handling multiline with HEREDOC
- Using Puppet 5 server metrics
- Breaking old practices
- Converting node inheritance
- Dealing with bool algebra on Strings
- Using strict variable naming
- Learning the new reference syntax
- Cleaning hyphens in names
- No Ruby DSL anymore
- Relative class name resolution
- Dealing with different data types
- Summary
- Chapter 8: Separation of Code and Data with Hiera
- Understanding the need for separate data storage
- Consequences of defining data in the manifest
- Building hierarchical data structures
- Configuring Hiera
- Storing Hiera data
- Choosing your backends
- Fetching data from classes
- Working with simple values
- Binding class parameter values automatically
- Handling hashes and arrays
- Choosing between manifest and Hiera designs
- Debugging data lookups
- Managing resources from data
- Hiera version 5
- Summary
- Chapter 9: Puppet Roles and Profiles
- Technical component modules
- Implementing components in profiles
- The business use case and node classification
- Building roles from profiles
- Placing code on the Puppet server
- The Puppet control repository
- Synchronizing upstream modules
- R10K code deployment
- Summary
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.