Zero-basic learning puppet automated configuration management documents
Before the introduction of Foreman, I have tested another front-end software in puppet, namely Kermit (Kermit. fr needs a wall ). To be honest, the Kermit-based architecture is still quite good, especially in the combination of various mcollective plug-ins. Unfortunately, the Community is too inactive, the software version is too slow, and there are too many pitfalls, finally, I gave up. However, his architecture is worth learning from. For those who want to build a UI on the puppet frontend, they can provide more reference.
This article introduces another outstanding front-end management tool foreman. What is Foreman? The official definition is as follows: foreman is a complete life cycle management tool for physical and virtual servers (Foreman is a complete lifecycle management tool for physical and virtual servers ).
Why should we introduce Foreman as the front-end of the configuration management tool?
This article analyzes the following aspects:
1. Foreman Architecture
A foreman installation will always contain a central Foreman instance that is responsible for providing the web based GUI, node configurations, initial host configuration files, etc. however, if the foreman installation supports unattended installations then other operations need to be completed MED to fully automate this process. the smart proxy manages remote services and is generally installed with all Foreman installations to allow for TFTP, DHCP, DNS, and puppet, and the puppet ca.
The above is an official definition. I will summarize it based on the daily usage (taking the latest stable Version 1.5.2 as an example)
Foreman itself is only a framework, and uses smart-proxy to proxy various applications to complete various functions. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_architecture.png "alt =" Foreman frame "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman Frame
Foreman uses proxy DNS, DHCP, and TFTP to complete the graphic unified management windows for KickStart, cobbler, jumpstart, and other automated installation system tools, the result is that you only need to customize various templates (PXE and Ks) on Foreman. Different templates can also nest various fragments (SNIPPET) for unified and simplified purposes. After that, you can add nodes and associate various templates to generate various PXE and Ks files for automatic installation. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_2.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_3.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
Foreman manages puppet Automatic Signature, puppet environment, class, variable, and facter by proxy puppet and puppet ca. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_4.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_5.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
Foreman manages the association between class and node through ENC and static group. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_6.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
With puppet plugin, Foreman can complete the trigger action of the puppet command on the node on the UI. The trigger method can be implemented by puppetkick (abandoned), mcollective (SUDO), and puppetssh (sshkey), salt, mrmrun, and other tools. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_7.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
Foreman can collect the reports and execution status after all nodes run puppet. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_8.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
Foreman also provides various search and report functions to better display the running status of nodes. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_9.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
In addition to bare metal management, Foreman can also manage various virtualization software, such as Rev-M, EC2, vmwware, and openstack. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_10.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
Foreman can also be integrated with LDAP and AD.
Foreman also provides powerful user and permission management portals, allowing you to create multiple users, multiple user groups, and define roles for permissions. The functions and hosts displayed by users with different permissions on the UI are different. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_11.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
Foreman also provides the audits (Audit) function for all operations on the UI, which ensures that all operations can be traced. 650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_12.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
In addition, there are many other functions ....
Due to the shortcomings of configuration management, the combination of Foreman and mcollective is not very good. It just borrowed the puppetkick plug-in to integrate a command of mcollective, in this regard, it is still necessary to wait for any improvement in the future.
2. Foreman's version blueprint
The foreman version development diagram is as follows:
650) This. width = 650; "src =" http://kisspuppet.com/img/foreman_leaning_1.png "alt =" Foreman version development map "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Foreman version development path
It can be seen that Foreman's development is quite rapid, and both version change and community activity are quite good. Currently, the latest stable version is 1.5.2, while the RC version of 1.6.0 is just released (statistical date: January 1, August 19, 2014)Current version development and expected line chart:Http://projects.theforeman.org/rb/releases/foreman
3. Foreman community activity
Foreman Google groups:
Https://groups.google.com/forum! Forum/Foreman-Users
Https://groups.google.com/forum! Forum/Foreman-Dev
IRC of FOREMAN:"# Theforeman"
Http://webchat.freenode.net/
@ Kisspuppet
August 19, 2014 Shanghai
Return to the main directory for communication:
Public Account: puppet2014You can search and join, or scan the following QR code to join
650) This. width = 650; "src =" http://kisspuppet.com/img/weixin.jpg "alt =" Public Account "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/> Public Account
QQ chat group: 296934942
650) This. width = 650; "src =" http://kisspuppet.com/img/contact1.jpg "alt =" QQ Contact Group "style =" margin: 0px; padding: 0px; Height: auto; Border: none; "/>
This article is from the "www.kisspuppet.com" blog, please be sure to keep this source http://dreamfire.blog.51cto.com/418026/1542171