Puppet 3 Beginner’s Guide


Puppet 3 Beginner’s Guide
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
$22.94
save 15%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
$44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
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, Beginner's Guides, Open Source

Table of Contents

Preface
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
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

                      John Arundel is an infrastructure consultant who helps people make their computer systems more reliable, useful, and cost-effective and has fun doing it. He has what Larry Wall describes as the three great virtues of a programmer: laziness, impatience, and hubris.

                      Laziness, because he doesn't like doing work that a computer could do instead. Impatience, because he wants to get stuff done right away. Hubris, because he likes building systems that are as good as he can make them.

                      He was formerly a senior operations engineer at global telco Verizon, designing resilient, high-performance infrastructures for corporations such as Ford, McDonald's, and Bank of America. He now works independently, helping to bring enterprise-grade performance and reliability to clients with slightly smaller pockets but very big ideas.

                      He likes writing books, especially about Puppet. It seems that at least some people enjoy reading them, or maybe they just like the pictures. He also occasionally provides training and coaching on Puppet, which turns out to be 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.

                      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 +    Oracle Modernization Solutions =
                      50% Off
                      the eBooks

                      Buy both these recommended eBooks together and get 50% off the total price

                      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.

                      Approach

                      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
                      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
                      Resources
                      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