Puppet: The Popular Choice for IT Automation
Puppet is used to configure UNIX-like computer systems as well as Windows systems. It uses its own declarative language or a domain specific language. Let’s get to know this tool a bit better.
Puppet is an IT configuration management tool and key software in the IT automation arena. In Puppet, you can define your infrastructure configurations and application configurations. It gives you good visibility of what has gone wrong and, by reporting all tasks, will help you to record all the changes. By using Puppet, systems administrators can reduce the time spent on repetitive tasks, ensuring consistent configuration across their infrastructure.
Puppet is an open source tool developed by Puppet Labs. It can be used on Linux (most flavours), Solaris, AIX and Windows platforms.
Puppet comes in two versions—the open source community version and the enterprise paid-for version. Even on a paid version, you get a one-month trial with a learning VM from Puppet Labs.
Before installing Puppet, let’s compare it with another similar tool called Chef on the affordability parameter.
1. Chef uses Ruby, which is a difficult language to learn for beginners, while Puppet uses DSL (domain specific language), which is optimised for the task of describing resources.
2. Puppet has a larger installed base, as compared to Chef.
3. Puppet has a large developer community.
4. It supports more platforms than Chef.
5. Puppet is declarative while Chef is not.
Puppet being a declarative language means that you are writing the code, and you decide what the status of your machine should be after running the code and what not to do. The program will decide what to do to achieve the target state of the server.
We will now discover how to install Puppet and use it. For testing purposes, you can either download the learning VM from the Puppet Labs site, or you can download Puppet and install it on a machine.
Prerequisites for installing Puppet
1. Ensure the server and client names are fully resolvable.
2. Configure the NTP service and ensure that it is running.
3. Download the Puppet package (wget https://github.com/ puppetlabs/puppet).
Install the Puppet package (create a repo with the folder and run yum install puppet).
Install Apache (yum install httpd) using the following command: 4. 5.
#Install puppetmaster-passenger 6.
Install the package passenger (yum install puppetmasterpassenger).
Start Puppet (service puppetserver start).
Make Puppet start when the server boots (chkconfig on puppetserver), or download the learning VM from Puppet Labs.
Install the Puppet agent on all client servers.
Puppet uses SSL certificates to authenticate communication between master and agent nodes. The Puppet