Puppet 3 Beginner’s Guide
Formats:
save 15%!
save 37%!
Free Shipping!
| Also available on: |
|
- Shows you step-by-step how to install Puppet and start managing your systems with simple examples
- Every aspect of Puppet is explained in detail so that you really understand what you're doing
- Gets you up and running immediately, from installation to using Puppet for practical tasks in a matter of minutes
- Written in a clear, friendly, jargon-free style which doesn't assume any previous knowledge and explains things in practical terms
Book Details
Language : EnglishPaperback : 204 pages [ 235mm x 191mm ]
Release Date : April 2013
ISBN : 1782161244
ISBN 13 : 9781782161240
Author(s) : John Arundel
Topics and Technologies : All Books, Beginner's Guides, Open Source
Table of Contents
PrefaceChapter 1: Introduction to Puppet
Chapter 2: First steps with Puppet
Chapter 3: Packages, Files, and Services
Chapter 4: Managing Puppet with Git
Chapter 5: Managing users
Chapter 6: Tasks and templates
Chapter 7: Definitions and Classes
Chapter 8: Expressions and Logic
Chapter 9: Reporting and troubleshooting
Chapter 10: Moving on Up
Index
- Chapter 1: Introduction to Puppet
- The problem
- Configuration management
- A day in the life of a sysadmin
- Keeping the configuration synchronized
- Repeating changes across many servers
- Self-updating documentation
- Coping with different platforms
- Version control and history
- Solving the problem
- Reinventing the wheel
- A waste of effort
- Transferable skills
- Configuration management tools
- Infrastructure as code
- Dawn of the devop
- Job satisfaction
- The Puppet advantage
- Welcome aboard
- The Puppet way
- Growing your network
- Cloud scaling
- What is Puppet?
- The Puppet language
- Resources and attributes
- Summary
- Configuration management
- What Puppet does
- The Puppet advantage
- Scaling
- The Puppet language
- Chapter 2: First steps with Puppet
- What you'll need
- Time for action – preparing for Puppet
- Time for action – installing Puppet
- Your first manifest
- How it works
- Applying the manifest
- Modifying existing files
- Exercise
- Organizing your manifests
- Time for action – creating a directory structure
- Creating a nodes.pp file
- Time for action – creating a node declaration
- Summary
- Installing Puppet
- Manifests
- Nodes
- Chapter 3: Packages, Files, and Services
- Packages
- Time for action – installing Nginx
- More about packages
- Installing specific versions
- Removing packages
- Updating packages
- Modules
- Time for action – creating an Nginx module
- Time for action – making a "puppet apply" command
- Services
- Time for action – adding the Nginx service
- Requiring resources
- More about services
- Starting a service at boot time
- Services that don't support "status"
- Specifying how to start, stop, or restart a service
- Files
- Time for action – deploying a virtual host
- Notifying other resources
- The package–file–service pattern
- Exercise
- Summary
- Packages
- Modules
- Services
- Starting services at boot
- Service status options
- Service control commands
- Resource dependencies
- Files
- Chapter 4: Managing Puppet with Git
- What is version control?
- Time for action – importing your manifests into Git
- Time for action – committing and inspecting changes
- How often should I commit?
- Branching
- Distributing Puppet manifests
- Reliability
- Scalability
- Simplicity
- Time for action – creating a master Git repo
- Time for action – cloning the repo to a new machine
- Time for action – adding a new node
- Time for action – pushing changes to the master repo
- Exercise
- Pulling changes automatically
- Time for action – automatic pull-and-apply script
- Learning more about Git
- Summary
- Why version control?
- Getting started with Git
- Networking Puppet
- Chapter 5: Managing users
- Users
- Security and access control
- What Puppet can do
- Time for action – creating a user
- Removing user accounts
- Access control
- What is SSH?
- Managing SSH keys
- Time for action – adding an SSH authorized key
- Generating new SSH keys
- Special-purpose keys
- Locking user accounts
- Managing SSH configuration
- Time for action – deploying an SSH configuration file
- User privileges
- sudo
- Time for action – deploying a sudoers file
- Summary
- Security practices
- User resources
- Removing or locking accounts
- Managing SSH keys
- Configuring SSH
- Managing privileges with sudo
- Chapter 6: Tasks and templates
- Running commands with exec resources
- Time for action – running an arbitrary command
- Running commands selectively
- Triggering commands
- Chaining commands
- Command search paths
- Scheduled tasks
- Time for action – scheduling a backup
- More scheduling options
- Running jobs at regular intervals
- Running a job as a specified user
- Exercise
- Distributing files
- Time for action – using a recursive file resource
- Using templates
- Time for action – templating an Nginx virtual host
- Inline templates
- System facts
- Doing the math
- Putting it all together
- Summary
- Exec resources
- Scheduled jobs
- Recursive file resources
- Templates
- Chapter 7: Definitions and Classes
- Grouping resources into arrays
- Definitions
- Passing parameters to definitions
- Optional parameters
- Time for action – creating a definition for Nginx websites
- Multiple instances of definitions
- Exercise
- Classes
- Defining classes
- Putting classes inside modules
- Declaring classes
- What's the difference between a class and a definition?
- Time for action – creating an NTP class
- Summary
- Arrays
- Definitions
- Classes
- Chapter 8: Expressions and Logic
- Conditionals
- If statements
- else and elsif
- Unless statements
- Case statements
- The default case
- Matching multiple cases
- Selectors
- Expressions
- Comparisons
- Equality
- Magnitude
- Substrings
- Boolean operators
- Combining Boolean operators
- Arithmetic operators
- Regular expressions
- Operators
- Syntax
- Conditionals
- Capture variables
- Substitutions
- Node definitions
- Arrays and hashes
- Grouping resources with arrays
- Getting values out of arrays
- Hashes
- Multilevel hashes
- Testing hash keys
- Summary
- Conditionals
- Operators
- Regular expressions
- Text substitution
- Arrays
- Hashes
- Chapter 9: Reporting and troubleshooting
- Reporting
- Summary reports
- Enabling reports
- What's in a report?
- Time for action – generating a report
- Using reports
- Debug runs
- Noop runs
- Syntax checking
- Debug output
- Notify resources
- Exec output
- Specifying expected exit status
- Monitoring
- Managing monitoring with Puppet
- What to monitor
- Monitoring Puppet status
- Problems with Puppet
- Staying in sync
- Errors
- Compilation errors
- Diagnosing errors
- Missing file sources
- Missing parent directory
- Mistyped command line options
- Summary
- Reporting
- Debug and dry-run modes
- Printing messages
- Monitoring Puppet
- Common Puppet errors
- Chapter 10: Moving on Up
- Puppet style
- Break out code into modules
- Refactor common code into definitions
- Keep node declarations simple
- Use puppet-lint
- Make comments superfluous
- Puppet learning resources
- Reference
- Resource types
- Language and syntax
- Facts
- Style
- Modules and code
- Puppet Forge
- The Puppet Cookbook
- Projects
- Puppet everywhere
- User accounts
- System toolbox
- Time sync
- Monitoring server
- Puppetize your key services
- Automate backups
- Set up staging servers
- Automate everything
- Last word
John Arundel
Submit Errata
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
Sample chapters
You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.
- Installing and configuring your Puppet environment
- Running Puppet on multiple servers
- Deploy configuration files and templates for lightning-fast installations
- Creating and monitoring reports and information
- Managing user accounts, security, access control, and scheduled jobs
- Best practices for organizing your Puppet code using Git
Everyone's talking about Puppet, the open-source DevOps technology that lets you automate your server setups and manage websites, databases, and desktops. Puppet can build new servers in seconds, keep your systems constantly up to date, and automate daily maintenance tasks.
"Puppet 3 Beginner's Guide" gets you up and running with Puppet straight away, with complete real world examples. Each chapter builds your skills, adding new Puppet features, always with a practical focus. You'll learn everything you need to manage your whole infrastructure with Puppet.
"Puppet 3 Beginner’s Guide" takes you from complete beginner to confident Puppet user, through a series of clear, simple examples, with full explanations at every stage.
Through a series of worked examples introducing Puppet to a fictional web company, you'll learn how to manage every aspect of your server setup. Switching to Puppet needn't be a big, long-term project; this book will show you how to start by bringing one small part of your systems under Puppet control and, little by little, building to the point where Puppet is managing your whole infrastructure.
Presented in an easy-to-read guide to learning Puppet from scratch, this book explains simply and clearly all you need to know to use this essential IT power tool, all the time applying these solutions to real-world scenarios.
Presented in an easy-to-follow, step-by-step tutorial format, Puppet 3 Beginner’s Guide will lead you through the basics of setting up your Puppet server with plenty of screenshots and real-world solutions.
This book is written for system administrators and developers, and anyone else who needs to manage computer systems. You will need to be able to edit text files and run a few commands on the command line, but otherwise no system administration or programming experience is required.

