Understanding Puppet

Puppet is a configuration management tool that is used for deploying, configuring, and managing nodes (servers).

Puppet was released by Luke Kanies in 2005. It was written in C++, and Clojure and runs on Linux, Unix, and Windows. The current version is 5.5.3 and was released in July 2018. Puppet as a software falls into the infrastructure as code category, which means that you configure and make changes using code and configuration files. Puppet uses manifest files to help configure nodes/servers (we'll learn more about this in a later section).

Puppet uses a pull configuration (master and slave) architecture in which the nodes (Puppet agent) poll the master server for configuration files and changes. There is a four-step life cycle in this master/slave process:

  1. The node sends facts about itself to the master server.
  2. The master server uses these facts to compile a catalog as to how the node should be configured. It then sends the catalog back to the node.
  3. The node uses the catalog to configure itself to the desired state, as described in the manifest file.
  4. The node now sends a report to the master with any changes or errors. These reports can then be seen in the Puppet dashboard.

Puppet also supports a multi-master architecture to reduce downtime and offer high availability. When a master server falls over or faces any issues, another master server can take its place. Puppet agents will then poll this new master server for any configuration changes.

As part of the configuration process, there are multiple steps that Puppet takes to transform code in configuration files and configure a node into a desired state.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.130.130