This is the first in a series of posts where I will walk through Puppet’s latest release. We will begin with installation then move on to expoloring some of the latest release’s coolest features that are sure to make configuration management cool again.
You may have heard about running puppet in docker described in Gareth Rushgrove’s post on puppet.com called Running Puppet software in Docker containers. I took that post a step or two further and created a Terraform module that deploys a puppet environment to a Nomad cluser. This post goes over the process of using that module.
This post is the next in a series of posts that shows how to integrate a complete production puppet environment with serf. In this post we learn how to use serf to fire off r10k updates on your compile masters. This takes the place of running mco r10k synchronize.
If you have used puppet in a production environment before, then you have probably used MCollective which is the orchestration system for puppet enterprise. Most of the time this works out great. In my shop though, we have had many problems with MCollective. This post gives you a way to replace MCollective with HashiCorp’s Serf and explains how this is a much better solution.
After reading The DevOps Handbook it became obvious that the current trend in IT is defining your infrastructure as code. This gives you infrastructure that you can build and destroy at will. In this article we define a consul cluster in code using Hashicorp’s Terraform.
I walked you through the hard way of deploying an ELK stack using packages. This can be error prone and really doesn’t ring well with current DevOps/Infrastructure as Code mantra. So this post will help you accomplish the same setup but using Puppet for configuration management.
This post will outline continuous delivery and throw it into the context of puppet. This is going to give a very brief overview of continuous delivery as there are volumes of books on the subject ( Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, The IT Manager’s Guide to Continuous Delivery: Delivering Software in Days, Continuous Delivery and DevOps - A Quickstart Guide - Second Edition to name just a few).
Anyone who has used puppet in any production environment should know about External Node Classifiers. Puppet ENCs tell puppet what classes (from puppet modules) get assigned to what systems. This post walks you through using MongoDB. MongoDB is a logical choice to use because it can return results in JSON which Puppet readily consumes.