First,Puppet Introduction
1, the use of Puppet
Puppetis open source based on theRubySystem Configuration Management tool that relies on theCdeployment Architecture. The main developers areLuke kanies, followGPLv2Copyright Agreement. From1997Year startKaniesParticipationUnixof System management work,Puppetdeveloped from these experiences. Because you are not satisfied with the existing configuration tools,2001years to2005years,Kaniesstarted inReductivethe laboratory engages in the development of tools. Soon,ReductiveThe lab has released their flagship product -Puppet.
2. characteristics of Pupput
Many system configuration management tools work in a very similar way, such as cfengine. What makes Puppet different?
puppet server execution, creating user use useradd command; If this configuration is in freebsd< Span style= "Color:rgb (63,63,63); font-size:12px;font-family: ' The song Body '; > The host is executed with the adduser command.
another remarkable place for Puppet is its flexibility. Due to the nature of open source software, you are free to obtain Puppet source code, if you encounter problems and ability, you can modify or strengthen the Puppet to apply to your environment. In addition, community developers and donors are constantly enhancing the functionality of Puppet. A large developer and user community is also committed to providing Puppet documentation and technical support.
Puppet is also easy to expand. Custom software package support and special system environment configuration can be quickly and easily added into the Puppet installer.
Second,Puppet Organizational Structure
installation after Puppet, the tree under /etc/puppet can be seen
650) this.width=650; "src=" Http://s1.51cto.com/wyfs02/M01/7E/10/wKiom1b2Gpyg4C9zAABtxsyrKuY580.jpg "title=" Puppet principle 1.jpg "alt=" Wkiom1b2gpyg4c9zaabtxsyrkuy580.jpg "/>
Third,Puppet working methods and processes
1 . Basic work flow of Puppet
(1), definition
(2), Analog
(3), implementation
(4), reporting
2 . Detailed work flow of Puppet
650) this.width=650; "src=" Http://s4.51cto.com/wyfs02/M01/7E/0D/wKioL1b2G0_DjchOAAEi-eJInp4054.jpg "title=" Puppet principle 2.jpg "alt=" Wkiol1b2g0_djchoaaei-ejinp4054.jpg "/>
( a)the agent sends the node name and facts information to master
master included Node.pp What to do, what you need Class agent< Span style= "Color:rgb (63,63,63); font-size:12px;font-family: ' The song Body '; >
(c)The agent performs code validation (detection of syntax and errors) on the catalog and executes, executes information, writes results to the log
(D)The agent completes execution, the system reaches the expected state, and returns the results and execution data to Master
Client and server-side security authentication
Puppet Communication uses SSL Secure encryption protocol to guarantee the security of all data transmission.
Puppet Master will issue a certificate and key to itself after booting . You can see them in the/var/puppet/ssl or /var/lib/puppet/ssl directory
Puppet Agent adds parameters when running Puppet apply--test--verbose can see the detailed process of requesting a certificate at the client terminal
Puppet Master can also use the Puppetcert list to view the list of clients requesting a certificate. Use the command Puppetcert sign Agent_name to issue the certificate.
if Master never issues a certificate, the client requests it every 2 minutes .
Puppet's Principle Chapter