Skip to main content
main-content

Über dieses Buch

Pro Puppet is an in-depth guide to installing, using, and developing the popular configuration management tool Puppet. The book is a comprehensive follow-up to the previous title Pulling Strings with Puppet. Puppet provides a way to automate everything from user management to server configuration. You'll learn how to create Puppet recipes, extend Puppet, and use Facter to gather configuration data from your servers.

Puppet is a must-have tool for system administrators, and Pro Puppet will teach you how to maximize its capabilities and customize it for your environment.

Install and configure Puppet to immediately start automating tasks and create reporting solutions Learn insider tricks and techniques to better manage your infrastructure Become a Puppet expert!

Inhaltsverzeichnis

Frontmatter

Chapter 1. Getting Started with Puppet

Abstract
Puppet is an open source framework and toolset for managing the configuration of computer systems. In this book, we’re going to look at how you can use Puppet to manage your configuration. As the book progresses, we’ll introduce Puppet’s features and then show you how to integrate Puppet into your provisioning and management lifecycle. To do this, we’ll take you through configuring a real-world scenario that we’ll introduce in Chapter 2.
James Turnbull, Jeffrey McCune

Chapter 2. Building Hosts with Puppet

Abstract
In Chapter 1 we installed and configured Puppet, created our first module, and applied that module and its configuration via the Puppet agent to a host. In this chapter, we’re going to extend this process to build some more complete modules and hosts with Puppet for a hypothetical company, Example.com Pty Ltd. Each host’s functionality we build will introduce new Puppet concepts and ideas
James Turnbull, Jeffrey McCune

Chapter 3. Working with Environments

Abstract
We’ve introduced you to installing and configuring Puppet. In this chapter, we show how you might integrate Puppet into your organization’s workflow. This will allow you to use Puppet to make changes and manage your infrastructure in a logical and stable way.
James Turnbull, Jeffrey McCune

Chapter 4. Puppet Scalability

Abstract
We’ve seen that the Puppet agent and master require very little work to get up and running on a handful of nodes using the default configuration. It is, however, a significantly more involved undertaking to scale Puppet to handle hundreds of nodes. Yet many installations are successfully using Puppet to manage hundreds, thousands and tens of thousands of nodes. In this chapter, we cover a number of proven strategies that are employed to scale Puppet.
James Turnbull, Jeffrey McCune

Chapter 5. Externalizing Puppet Configuration

Abstract
In Chapter 2 we talked about the ways that you could define your hosts or nodes to Puppet. We talked about specifying them in a variety of forms as node statements in your Puppet manifest files. We also mentioned that Puppet has the capability to store node information in external sources. This avoids the need to specify large numbers of nodes manually in your manifests files, a solution which is timeconsuming and not scalable.
James Turnbull, Jeffrey McCune

Chapter 6. Exporting and Storing Configuration

Abstract
So far in the book, you’ve seen how Puppet models configuration on a single host. In many cases, however, you have configuration on multiple hosts that have a relationship; for example, your monitoring system needs to know about configuration on hosts being monitored. In this chapter we look at three features that exist in Puppet to help model resources on multiple hosts: virtual resources, exported resources, and stored configuration.
James Turnbull, Jeffrey McCune

Chapter 7. Puppet Consoles: Puppet Dashboard and The Foreman

Abstract
Until recently, you needed to manage Puppet via its manifest files and from the command line. As Puppet has matured, a small ecosystem of tools has emerged, including two console products: Puppet Dashboard and The Foreman.
James Turnbull, Jeffrey McCune

Chapter 8. Tools and Integration

Abstract
Puppet, by itself, provides a large number of features and functionality. As you’ve learned so far in this book, Puppet enables you to manage the configuration state of a wide variety of resources. Files, users, groups, software packages and running services are prime examples. Configuration management is an extremely complex and multi-faceted problem, however, and as result we cannot expect Puppet alone to address every problem. In this chapter, we cover a number of additional tools that work extremely well with Puppet. These tools address many of the problems Puppet alone does not address.
James Turnbull, Jeffrey McCune

Chapter 9. Reporting with Puppet

Abstract
One of the most important aspects of any configuration management system is reporting. Reporting is critical for providing information on accuracy, performance, and compliance to policy and standards, and it can provide graphical representations of the overall state of your configuration. Indeed, we’ve already seen some examples of how to display Puppet reports (i.e., via a management console) in Chapter 7, when we looked at Puppet Dashboard and Foreman.
James Turnbull, Jeffrey McCune

Chapter 10. Extending Facter and Puppet

Abstract
Among the most powerful features of Puppet are its flexibility and extensibility. In addition to the existing facts, resource types, providers, and functions, you can quickly and easily add custom code specific to your environment or to meet a particular need.
James Turnbull, Jeffrey McCune

Chapter 11. Marionette Collective

Abstract
In Chapter 10, you learned about the puppet-module and cucumber-puppet tools. Both of these tools help automate the process of developing and testing Puppet modules. Similarly, Marionette Collective (MCollective) is an orchestration framework closely related to Puppet. Puppet excels at managing the state of your systems; however, the default 30-minute run interval of the Puppet agent makes it unsuitable for real-time command and control. MCollective addresses the need to execute commands in real-time on a large number of systems in a novel and unique manner. With MCollective, nodes are easily divided into collections based on information about the node itself rather than hostnames. The use of metadata means you don’t need to maintain long lists of hostnames or IP addresses. All systems in the collection can report information about themselves in real-time on demand. Armed with this information, the overall population of machines can be divided into collectives. Procedures are carried out remotely against a collective rather than against a single machine.
James Turnbull, Jeffrey McCune

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise