Friday, August 21, 2015

The Wonders of Puppet

So one of the biggest things that many a sys admin has issues with is system configuration, replicability, being able to quickly deploy and provision new systems, verifying that all the correct software is installed on existing systems, etc...  The answer to this is age old, and has been seen in many projects such as CFEngine, Chef, Ansible, and Puppet.

Today I am not going to go into detail on comparing the different projects.  Today I just want to talk about configuration management, and puppet's place within this realm.

Puppet will easily allow the configuration and deployment of a server, and will allow periodic checks to make sure that all software, configuration settings, security settings, etc... are installed/configured on a server.

The language of puppet is not too complex, but a basic understanding of programming will definitely help.  This programming background is not required at all, but is slightly helpful for learning how to write in puppet.

To use puppet, a basic understanding of Linux will be needed as the puppet master runs on Linux, but puppet agents can be ran on any Operating System.  I personally would recommend using either SUSE or CentOS for the puppet master.  I will go over installing the puppet master on both SUSE and CentOS servers in a future post.

If you are curious how to install the puppet master on CentOS (or any RHEL derivative for that matter), you can look at the official documentation from puppetlabs here.

Once the puppet master is installed, you can install the puppet agent on your nodes of choice.  You can see how to do this from the official puppet documentation:

Red Hat
Debian/Ubuntu
Fedora
OS X
Windows Server
Tarball Install for any *Nix system

The short and long of all of this is that if you are only managing a couple of servers, puppet might be too much overhead for your environment.  But, once you start getting into a complex enterprise environment, puppet can save you time, effort, headache, and many problems.  By installing and configuring a puppet environment you can guarantee your system configuration and security.

No comments:

Post a Comment