Puppet is an open-source configuration management / IT automation software that allows system administrators to programmatically provision, configure, and manage servers, network devices, and storage, in a datacenter or in the cloud. Puppet is written on RUBY language and it is produced by Puppet Labs. Configuration Management tools uses either push or pull methods. Puppet uses pull method. In this method, puppet agents will be running on all the hosts and these machines call in to the puppet master to see if there is any new instructions for them. If there is any configuration for the hosts , puppet client daemon, just applies to it.
Puppet Components:
- Puppet Master
- PuppetDB and PostgreSQL
- Console
- Agents
Puppet Master (which includes Puppet DB & Console ) can be installed on only on Linux systems. Here is the supported platforms. Refer Puppet Labs for more information.
Operating system | Version(s) | Arch |
---|---|---|
Red Hat Enterprise Linux | 6, 7 | x86_64 |
CentOS | 6, 7 | x86_64 |
Oracle Linux | 6, 7 | x86_64 |
Scientific Linux | 6, 7 | x86_64 |
SUSE Linux Enterprise Server | 11, 12 | x86_64 |
Ubuntu | 12.04, 14.04 | x86_64 |
Puppet agent can be installed on most of the Linux , Unix and windows platforms.
Operating system | Version(s) | Arch |
---|---|---|
Red Hat Enterprise Linux | 4, 5, 6, 7 | x86_64 (i386 for 5, 6) |
CentOS | 5, 6, 7 | x86_64 (i386 for 5, 6) |
Oracle Linux | 5, 6, 7 | x86_64 (i386 for 5, 6) |
Scientific Linux | 5, 6, 7 | x86_64 (i386 for 5, 6) |
SUSE Linux Enterprise Server | 10, 11, 12 | x86_64 (i386 for 10, 11) |
Solaris | 10, 11 | SPARC & i386 |
Ubuntu | 10.04, 12.04, 14.04, 15.04 | x86_64 and i386 |
Fedora | 22 | x86_64 and i386 |
Debian | Squeeze (6), Wheezy (7), Jessie (8) | x86_64 and i386 |
Microsoft Windows (Server OS) | 2008, 2008R2, 2012, 2012R2, 2012R2 core | x86_64 |
Microsoft Windows (Consumer OS) | Vista, 7, 8, 8.1 | x86_64 |
Mac OS X | 10.9, 10.10, 10.11 | x86_64 |
AIX | 5.3, 6.1, 7.1 | Power |
Puppet Software:
Puppet Labs offers two type of software.
- Puppet Open Source (Free )
- Puppet Enterprise (Free only up to 10 Nodes/Commercial )
Puppet Enterprise comes along with rich web-based GUI to ease the administration.
Type of Installation:
- Monolithic Installation
- Split Installation
Monolithic Installation:
In Monolithic installation , Puppet master , Console and Puppet DB are installed on one node. Using single Puppet Master node , you can manage up to 500 nodes.
When you want to scale out the puppet infrastructure, you can simply add compile master(Additional Master node) to the exiting infrastructure. Each compile master can help you to manage additional 1500 Nodes. Monolithic installation might lead to performance issues when the number agent nodes get increases. When the environment grows large , you might need to think of migrating to the split installation method to improve the performance.
Split Installation:
In Puppet enterprise split installation, Puppet master, console, and PuppetDB are installed on each one separate nodes. This installation is suitable for managing up to 7000 nodes with additional compile masters and ActiveMQ message brokering.
The below architecture shows the large puppet environment using split installation method.
Source: https://docs.puppetlabs.com
Is Puppet Master deprecated ?
Yes. puppet server is replaced Puppet master environment. Puppet Server is an next-generation alternative to the Puppet master. Puppet Server is written in Clojure, and is built on our open source Trapperkeeper framework. According to puppet labs , Puppet server provides 3x better performance than existing puppet master environment. See more details here.
Alternatives to Puppet:
Here is the list of puppet alternative software.
- Ansible (Redhat)
- Salt
- Chef
Hope this article is informative to you . You will see many more articles on puppet soon. Follow UnixArena on Facebook.Twitter to get regular updates.
Share it ! Comment it ! Be Sociable !!!
Leave a Reply