Competent system administrators know their success hinges upon being able to perform often tedious tasks with rigor and punctuality. Such metrics are often achieved only by instituting a considerable degree of automation, something that has become even more crucial as IT environments continue to scale both in terms of size and complexity. One of the most powerful system administration tools to be yet released is Puppet, a solution capable of automating nearly every aspect of a system administrator's job, from user management, to software installation, to even configuring server services such as FTP and LDAP. Pulling Strings with Puppet: Automated System Administration Done Right is the first book to introduce the powerful Puppet system administration tool. Author James Turnbull will guide you through Puppet's key features, showing you how to install and configure the software, create automated Puppet tasks, known as recipes, and even create reporting solutions and extend Puppet further to your own needs. A bonus chapter is included covering the Facter library, which makes it a breeze to automate the retrieval of server configuration details such as IP and MAC addresses.
Author(s): James Turnbull
Edition: 192 p.
Year: 2008
Language: English
Pages: 192
Contents......Page 5
About the Author......Page 9
About the Technical Reviewer......Page 10
Acknowledgments......Page 11
Introduction......Page 12
CHAPTER 1: Introducing Puppet......Page 13
What Makes Puppet Different?......Page 15
How Does Puppet work?......Page 16
A Declarative Language......Page 17
Puppet Performance and Hardware......Page 19
Resources......Page 20
IRC......Page 21
Installation Prerequisites......Page 22
Installing Ruby from Source......Page 23
Installing Ruby and Ruby Libraries from Packages......Page 24
Installing Facter from Source......Page 26
Installing Facter from Package......Page 27
Installing RDoc......Page 28
Installing from Source......Page 29
Installing Puppet by Package......Page 31
Installing Puppet from a Ruby Gem......Page 32
Starting the Puppet Master......Page 34
Starting the Puppet Client......Page 36
Signing Your Client Certificate......Page 37
Configuring Puppet......Page 39
The [main] Configuration Namespace......Page 43
Configuring puppetmasterd......Page 44
Configuring puppetd......Page 46
Configuring puppetca......Page 49
Mailing Lists......Page 51
CHAPTER 3: Speaking Puppet......Page 52
Resource Titling......Page 53
Resource Attributes......Page 55
Resource Style......Page 56
Resource Defaults......Page 57
Classes and Subclasses......Page 58
Classes Relationships......Page 59
Class Inheritance......Page 60
Definitions......Page 61
Variables......Page 64
Variable Scoping......Page 65
Variables and Class Inheritance......Page 66
Qualified Variables......Page 67
Variables and Metaparameters......Page 68
Arrays......Page 69
Conditionals......Page 70
Creating Nodes......Page 73
Node Inheritance......Page 75
Node Inheritance and Variable Scope......Page 77
Node Conditionals......Page 79
Realizing with a Collection......Page 80
Realizing with the realize Function......Page 81
Facts......Page 82
Resource Types......Page 85
Managing Cron Jobs......Page 86
Using a Filebucket......Page 87
Managing Host Files......Page 88
Tidy Unwanted Files......Page 89
Functions......Page 90
Checking for Existence with defined......Page 92
Adding External Data with file......Page 93
Using generate......Page 94
Using tag and tagged......Page 95
Using Templating......Page 97
Web......Page 99
Our Example Environment......Page 100
Importing Manifests......Page 102
Managing Manifests with Subversion......Page 104
Defining Nodes......Page 106
Our First Classes......Page 109
Managing Users and Groups......Page 112
Managing Users......Page 113
File Serving......Page 117
Modularizing Our Configuration......Page 120
MySQL Module......Page 123
Postfix Module......Page 124
Apache Module......Page 126
Resources......Page 130
Getting Started......Page 132
Configuring Reporting......Page 135
log......Page 136
tagmail......Page 137
rrdgraph......Page 138
Custom Reporting......Page 140
Resources......Page 141
External Node Classification......Page 142
Storing Node Configuration in LDAP......Page 147
Puppet Scalability......Page 153
Installing Mongrel......Page 155
Installing Apache......Page 156
Configuring Apache As a Proxy......Page 157
Configuring Puppet for Mongrel......Page 161
Resources......Page 162
Extending Facter......Page 164
Configuring Puppet for Custom Facts......Page 165
Writing Custom Facts......Page 166
Testing Your Facts......Page 168
Extending Puppet......Page 169
Creating the Type......Page 170
Parameters......Page 172
Creating Our Provider......Page 173
Distributing Our New Type......Page 176
Resources......Page 179