Puppet (software)

from Wikipedia, the free encyclopedia
Puppet

Puppet Logo.svg
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 dashboard home
the foreman home

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

Web links

Individual evidence

  1. Release 6.17.0 . July 10, 2020 (accessed July 11, 2020).
  2. github.com .
  3. 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)  @1@ 2Template: Webachiv / IABot / docs.puppetlabs.com
  4. Frequently Asked Questions. In: docs.puppetlabs.com. Puppet Labs, accessed January 8, 2013 .
  5. VMware invests 30 million in Puppet. ADMIN magazine, accessed January 28, 2013 .
  6. ^ Gunnar Wrobel: puppet show. Configuration management with Puppet. In: Linux Magazine Online. October 2008, accessed January 8, 2013 .
  7. ^ Whos Using Puppet. In: projects.puppetlabs.com. Puppet Labs, accessed January 8, 2013 .
  8. Ryan Lane: Ever wondered how the Wikimedia servers are configured? In: Wikimedia blog. Wikimedia Foundation, September 19, 2011, accessed January 8, 2013 .
  9. Michael Coté: Puppet at Google. RedMonk Radio Episode 48. In: Coté's People Over Process. RedMonk, June 11, 2008, accessed January 8, 2013 .
  10. 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 .
  11. Oswald Campe Sato, Kevin Nilson: Web 2. 0 Fundamentals for Developers Jones & Bartlett Learning, 2010, p 412 ISBN 978-0-7637-7973-3
  12. Puppet Users. In: Google Groups. Retrieved January 8, 2013 .