
Contact Us
Skype: techomechina
MSN: info@techomechina.com
Phone: +86 1062431711
Fax: +86 1062431800
Email: info@techomechina.com
Building A, UFIDA Software Park
68 Beiqing Rd.
Haidian District
Beijing China 100094
Puppet Configuration Management Tool
![]()
Puppet
Puppet is an open source configuration management tool designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively. Puppet is developed in Ruby and released under the GPL (GUN General Public License) and the Apache. Puppet is becoming quite popular and it’s already being used by companies such as Google, Twitter, and Red Hat.
Why Puppet
In order to reduce system administrators’ workload due to more and more system management work, the importance of automatic management comes to the surface. Instead of in-house development, Puppet offers the shared system that everyone can use. Puppet provides sharing mature tools that avoid the duplication of solving the same problem in the following two ways:
- Puppet allows system administrators to use powerful framework that provided by puppet in order to simplify the majority of the technical tasks.
- The system admin work is written as code in puppet’s custom language which is shareable just like any other code.
With Puppet, system administrators can get done their work much faster and better, because system administrators can have puppet handle most or even all of the details and you can download code from other system administrators.
Facter Variables
When puppet client analyzes code, it will assign the corresponding values sent from facter to variables. You can manually carry out facter this command independently, which will print out the information it collects about host, such as IP address, etc. Facter sends the values collected to puppet server-side, and server-side can generate different puppet configuration files of different node machines according to different conditions. The most important is the server’s host name.
Working Mode and Process
Puppet can be used not only in single machine, but also in c/s structure. We usually use the c/s structure in the case of using large-scale puppet. In this structure, puppet client only refers to the server running puppet, and puppet server-side refers to the server running puppetmaster.
Puppet client first connects to puppet server-side and sends client configuration information to server-side by facter tool. Through the analysis of the client’s host name and node definition, server-side finds the configuration code of the host, then compiles the configuration code and sends it back to the client. The client executes code to complete the configuration, and sends the code execution feedbacks to puppet server-side.




