Puppet (software)
Puppet
|
|
---|---|
Basic data
|
|
developer | Puppet |
Publishing year | 2005 |
Current version |
6.17.0 ( July 10, 2020 ) |
operating system | Platform independent |
programming language | Ruby |
category | Configuration management |
License | Apache license, version 2.0 |
German speaking | No |
puppet.com/open-source/ |
Puppet is an administration program . The main application is the automated configuration of several computers via network. Configuration parameters can be the installation of software , data synchronization or the execution of programs.
Puppet is open source and cross-platform in principle, but are supported in particular Unix-like operating systems such as Unix , Linux and FreeBSD . Microsoft Windows can only be configured to a limited extent.
development
Puppet is written in the Ruby programming language. It has existed since 2005 and is developed by the Puppet Labs company that was founded for this purpose. The main developer has been Luke Kanies from the start. Puppet is free software and from version 2.7.0 is under the Apache License 2.0, before that under the GPL.
At the end of January 2013, Puppet Labs announced that VMware is investing 30 million US dollars in the further development of Puppet as part of a strategic partnership.
Working principle
Puppet works on the client-server principle . A central puppet daemon ( puppetmaster ) runs on the server, which stores the configurations of the computers and distributes them on request via the REST API. A puppet agent runs on each client, which fetches the configuration from the server and then calculates the differences between the configuration on the client and the desired configuration and then makes the appropriate changes.
A system administrator can use Puppet to centrally manage the configuration of computers connected to his network. For this purpose, it declares the desired state of a subsystem via "Puppet Manifests", which Puppet then implements during the process. Declarations can be conditional. In particular, the additional program facter belonging to Puppet can be used to determine system properties, for example the processor architecture, the operating system, or whether the Puppet instance is running on a virtual machine.
distribution
Puppet is suitable for both individual computers and large computer networks . Many organizations, companies, schools, and universities use Puppet to manage the configuration of their servers, including the Wikimedia Foundation , Google, Sun / Oracle , Stanford University, and Harvard Law School . The Puppet mailing list had more than 5,000 members as of January 2013.
Monitoring: Puppet Dashboard and Foreman
Puppet runs can be visualized with the separate programs puppet dashboard or foreman . These allow puppet reports to be displayed clearly on a web interface. This allows computers that are causing problems to be quickly identified and the problem to be resolved promptly.
need
Since Puppet's strength lies in the automated management of large systems with many computers, the sysadmin is faced with the task of maintaining an overview. A puppet run does not always go smoothly. The tendency to errors lies in heterogeneous systems with many different computer models and different usage profiles. There are many reasons for this (e.g. full hard disks, unexpected dpkg crashes) and, for safety's sake, cannot or should not be remedied automatically.
As long as Puppet is still running, it tries to make all configurations, but as soon as a called program returns an unexpected return value, the Puppet run is evaluated as failed (remaining tasks are still called). The output - a puppet report - of every puppet run is YAML - sent back to the puppet master.
The reports are fetched from the Puppet master host and entered in a database to enable fast web-based display. They can also be monitored with monitoring software.
See also
literature
- James Turnbull: Pulling Strings with Puppet: Configuration Management Made Easy Springer, 2008, ISBN 978-1-59059-978-5
- James Turnbull, Peter Lieverdink, Dennis Matotek: Pro Linux System Administration , Chapter 19: “Configuration management”, pp. 965-986, Springer, 2009, ISBN 978-1-4302-1912-5
- James Turnbull: Pro Puppet Apress, 2010, ISBN 978-1-4302-3057-1
- Gunnar Wrobel: Configuration management with Puppet, "Puppet Play" . Linux magazine 2008/10
- Philip Eschenbacher: Configure Zend Server via Puppet . Developer Magazine, November 2009.
Web links
- puppet-dashboard on github
- theforeman.org
- Puppet - Easy Systems Security for Users, Developers, and Administrators
- Puppet: Ruby-based Server Management Automation Suite
- Puppet Tutorial for Linux: Powering up with Puppet Puppet from Bitfield Consulting
Individual evidence
- ↑ Release 6.17.0 . July 10, 2020 (accessed July 11, 2020).
- ↑ github.com .
- ↑ Docs: Puppet on Windows. (No longer available online.) In: puppetlabs.com. July 9, 2014, archived from the original on July 3, 2014 ; Retrieved on July 10, 2014 (English): "Some * nix resource types aren't supported on Windows, and there are some Windows-only resource types." Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. : only a few type resources can be defined (compared to the abundance of available type resources in unix-like environments)
- ↑ Frequently Asked Questions. In: docs.puppetlabs.com. Puppet Labs, accessed January 8, 2013 .
- ↑ VMware invests 30 million in Puppet. ADMIN magazine, accessed January 28, 2013 .
- ^ Gunnar Wrobel: puppet show. Configuration management with Puppet. In: Linux Magazine Online. October 2008, accessed January 8, 2013 .
- ^ Whos Using Puppet. In: projects.puppetlabs.com. Puppet Labs, accessed January 8, 2013 .
- ↑ Ryan Lane: Ever wondered how the Wikimedia servers are configured? In: Wikimedia blog. Wikimedia Foundation, September 19, 2011, accessed January 8, 2013 .
- ↑ Michael Coté: Puppet at Google. RedMonk Radio Episode 48. In: Coté's People Over Process. RedMonk, June 11, 2008, accessed January 8, 2013 .
- ↑ Oliver Frommel: Puppet software for configuration management reaches version 2.6. In: ADMIN | The cross-platform magazine for all IT administrators. July 20, 2010, accessed January 8, 2013 .
- ↑ Oswald Campe Sato, Kevin Nilson: Web 2. 0 Fundamentals for Developers Jones & Bartlett Learning, 2010, p 412 ISBN 978-0-7637-7973-3
- ↑ Puppet Users. In: Google Groups. Retrieved January 8, 2013 .