3. What is Puppet :
It is a configuration management tool that helps system administrators automate
the provisioning, configuration, and management of a server infrastructure.
Planning ahead and using config management tools like Puppet can cut down on
time spent repeating basic tasks, and help ensure that your configurations are
consistent and accurate across your infrastructure.
Puppet comes in two varieties, Puppet Enterprise and open source Puppet. It runs
on most Linux distributions, various UNIX platforms, and Windows.
Pull request: every 30 mins, Language: Ruby
6. Puppet Master Puppet Agent
Puppet master is a Ruby application that
compiles configurations for any number of
Puppet agent nodes, using Puppet code and
various other data sources.
Puppet agent is the application that manages
configurations on nodes. It requires a puppet
master server to fetch configuration catalogs.
7. PuppetDB Puppet-Dashboard
PuppetDB collects data generated by Puppet.
Foundation for Applications that use puppet data.
PuppetDB stores:
The most recent facts from every node
The most recent catalog for every node
Optionally, 14 days (configurable) of event
reports for every node
Together, these give you a huge inventory of
metadata about every node in your infrastructure
and a searchable database of every single
resource being managed on any node.
The Puppet Dashboard is a useful tool & open
source web console for puppet, that gives a
birds-eye view of your systems configurations.
You can see all errors being reported in a single
place, as well as nodes that have stopped
reporting.
8. M-Collective Puppet Forge
The Marionette Collective, also known as
MCollective, is a framework for building server
orchestration or parallel job-execution systems.
Most users programmatically execute administrative
tasks on clusters of servers.
Puppet forge is a community repository of
Puppet code.
http://forge.puppetlabs.com/
There you can find open source modules for
managing things such as Apache, MySQL,
MongoDB, Ganglia, Sphinx, and many others.
These can be very useful to look at and get
ideas from. In some cases you may be able to
download and use the module directly in your
infrastructure as is; most of the me, you will
need to adapt and modify the code a little to
work in your environment.
9. Facter Heira
Collects facts about each system and
uploads them to the Puppet
master,making an inventory system and
a way to make decisions in your
puppet code
With heira you can externalize your system’s
configuration data and easily understand how
those values are assigned to your servers.with
that data separated from your puppet code,you
can encrypt sensitive data such as passwords
and keys.It is different from puppetDB
10. Catalog Manifest Module
a compilation of all the
resources that will be
applied to a given system
and the relationships
between those resources
A manifest is a .pp file with
DSL commands. Manifests
can contain desired state
configurations. They can be
node specific. It can be
compiled into a catalog.
They can be applied to a
local server or to a Puppet
Agent server. There is a
subfolder for manifests in
the puppet folder
A module is a structure
used for creating portable
code. While modules
usually contain manifests,
they also typically contain
files, templates,
metadata, and test cases.
11.
12. Puppet environment setup:
1. Install Puppet server package on Master
2. Configure Puppet Master
3. Start Puppet Master
4. Install Puppet Agent
5. Sign Request On Master