What is Puppet? and Work Flow of Puppet | DevOps | VisualPath

Introduction to Puppet

What is Puppet?

Puppet is a configuration management tool to automate infrastructure management and configuration i.e., it manages configuration data on other systems, including users, packages, processes, services. It helps in the concept of Infrastructure as code. Puppet is written in Ruby DSL language, which can be easily managed and configured.
Puppet follows client-server Model, where one machine acts as server known as puppet master and the other acts as client known as slave or agent machine.
The Puppet Master is a Machine where all manifests will be developed and ready to be implemented on the agents. The agent implements Puppet manifests, or files containing Puppet configuration language that declare the desired state of the node.
Special Features and Work Flow
In Puppet, one can safely run the same set of configuration multiple times on the same machine. In this flow, Puppet checks for the status of the target machine and will only make changes when there is any specific change in the configuration.
Puppet Work Flow
Puppet Workflow diagram

Puppet architecture mainly contains the following components.
Puppet Master
Puppet Master is the key mechanism which handles all the configuration related stuff. It applies the configuration to nodes using the Puppet agent.
Catalog
All the configuration changes which are written in Puppet are first converted to a compiled format called catalog and later those catalogs are applied on the target machine.
Puppet Agent
Puppet Agents are the actual working machines which are managed by the Puppetmaster. They have the Puppet agent daemon service running inside them.
The Work Flow:
The first thing that Puppet master does is to collect the details ofThe Puppet agent. Using the factor which is present on all Puppet agents it gets all the machine level configuration details. All these details are gathered and sent back to the Puppet master.
Then the puppet master compares the gathered configuration with defined configuration details, and with the defined configuration it creates a catalog and sends it to the targeted Puppet nodes.
The Puppet node applies those configurations to get the system into the desired state. After puppet agent changing to the desired state, that node sends a report back to the Puppet master. This helps the Puppet master in understanding where the current state of the system is, as defined in the catalog.

For DevOps training contact us at +91 9704455959 / info@visualpath.in
For more information about Visualpath, visit www.visualpath.in and follow the company on Facebook and Twitter.


Comments