Puppet Introduction
Puppet official website: http://www.puppetlabs.com/
Puppet Chinese wiki:http://puppet.chinaec2.com/
Puppet Chinese Forum: http://www.puppetfans.com/
Puppet is a Linux, UNIX platform centralized configuration management system, the so-called configuration management system, is the management of the machine inside such as files, users, processes, software packages These resources, the design goal is to simplify the management of these resources and properly handle the dependencies between resources
Puppet uses a descriptive language to define configuration items, which are called "resources", and the descriptive language declares the state of your configuration---such as declaring that a package should be installed or that a service should be started
With Puppet, you can run a server side, then each client through the SSL certificate to connect to the server, get the configuration list of the machine, and then more list to complete the configuration work, so if the hardware configuration, in a day to configure thousands of millions of machines is very easy to achieve things, The premise is that most machines are configured like
In a large-scale build environment, if only one puppetmaster will be busy, because the puppet is written in Ruby, Ruby is a parsing language, each client to access, all to parse once, when the client is too busy, so need to expand into a server group. Puppetmaster can be viewed as a Web server, and is actually done by a Web server module provided by Ruby. So you can use the Web proxy software to match the puppetmaster to do the cluster setup
The main developer of the Puppe project is Luke Kanies, currently puppet Labs Ceo,puppet follows the GPLV2 Copyright agreement. Kanies has been involved in UNIX system management since 1997, and Puppet's development stems from these experiences. Because of the lack of satisfaction with the existing configuration tools, from 2001 to 2005, Kanies began to engage in the development of tools in reductive laboratories. Soon, the reductive Labs released their flagship product--
Here's a picture of a bull.
Talk about puppet tools with Luke Kanies: http://article.yeeyan.org/view/neilalaer/4629
Puppet system Architecture
Puppet is an open source system configuration management tool based on Ruby, Puppet is a C/s structure, of course, there can be a lot of C, so it can be said to be a star structure. All puppet clients have the same server-side puppet communication. Each puppet client connects to the server side every half hour (can be set), downloads the latest configuration file, and configures the server strictly according to the configuration file. After the configuration is complete, the puppet client can feed back a message to the server. If an error occurs, a message is also fed back to the server. The following figure shows a typical data flow situation for a puppet configuration