Puppet 3 Beginner’s Guide

Puppet 3 Beginner’s Guide
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • 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 : English
Paperback : 204 pages [ 235mm x 191mm ]
Release Date : April 2013
ISBN : 1782161244
ISBN 13 : 9781782161240
Author(s) : John Arundel
Topics and Technologies : All Books, Networking and Servers, Beginner's Guides, Open Source

Table of Contents

Chapter 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
  • 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

                      John Arundel is a devops consultant, which means he solves difficult problems for a living. (He doesn't get called in for easy problems.) He has worked in the tech industry for 20 years, and during that time has done wrong (or seen done wrong) almost everything that you can do wrong with computers. That comprehensive knowledge of what not to do, he feels, is one of his greatest assets as a consultant. He is still adding to it. He likes writing books, especially about Puppet (The Puppet 3 Beginner's Guide is available from the same publisher). It seems that at least some people enjoy reading them. He also provides training and coaching on Puppet, which it turns out is far harder than simply doing the work himself. Off the clock, he can usually be found driving a Land Rover up some mountain or other. He lives in a small cottage in Cornwall and believes, like Cicero, that if you have a garden and a library, then you have everything you need. You can follow him on Twitter at @bitfield.
                      Sorry, we don't have any reviews for this title yet.

                      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.


                      - 1 submitted: last submission 28 Jun 2013

                      Errata type: Typo | Page number: 8

                      In the 1st paragraph, the line "Until then, we have to spend a lot of time telling telling the computer things it should already know."
                      Should be
                      "Until then, we have to spend a lot of time telling the computer things it should already know."

                      Sample chapters

                      You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                      Frequently bought together

                      Puppet 3 Beginner’s Guide +    PhoneGap 3.x Mobile Application Development Hotshot =
                      50% Off
                      the second eBook
                      Price for both: $41.55

                      Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                      What you will learn from this book

                      • 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

                      In Detail

                      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.

                      Who this book is for

                      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.

                      Code Download and Errata
                      Packt Anytime, Anywhere
                      Register Books
                      Print Upgrades
                      eBook Downloads
                      Video Support
                      Contact Us
                      Awards Voting Nominations Previous Winners
                      Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                      Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software