Book Image

Puppet 5 Beginner's Guide - Third Edition

By : John Arundel
Book Image

Puppet 5 Beginner's Guide - Third Edition

By: John Arundel

Overview of this book

Puppet 5 Beginner’s Guide, Third Edition gets you up and running with the very latest features of Puppet 5, including Docker containers, Hiera data, and Amazon AWS cloud orchestration. Go from beginner to confident Puppet user with a series of clear, practical examples to help you manage every aspect of your server setup. Whether you’re a developer, a system administrator, or you are simply curious about Puppet, you’ll learn Puppet skills that you can put into practice right away. With practical steps giving you the key concepts you need, this book teaches you how to install packages and config files, create users, set up scheduled jobs, provision cloud instances, build containers, and so much more. Every example in this book deals with something real and practical that you’re likely to need in your work, and you’ll see the complete Puppet code that makes it happen, along with step-by-step instructions for what to type and what output you’ll see. All the examples are available in a GitHub repo for you to download and adapt for your own server setup.
Table of Contents (21 chapters)
Puppet 5 Beginner's Guide Third Edition
About the Author
About the Reviewer
Customer Feedback

Running Puppet inside containers

If a container can contain a whole operating system, such as Ubuntu, you might be wondering: "can't I just run Puppet inside the container?"

You can, and some people do take this approach to managing containers. It also has a number of advantages:

  • You can use your existing Puppet manifests, or Forge modules; no need to write complex Dockerfiles

  • Puppet will keep the container continuously updated; no need to rebuild when something changes

Of course, there are a few disadvantages too:

  • Installing Puppet inflates the image size considerably, and pulls in all sorts of dependencies

  • Running Puppet slows down the build process, and also consumes resources in the running container

There are also some hybrid options, such as running Puppet in the container during the build stage, and then removing Puppet and its dependencies, plus any intermediate build artifacts, before saving the final image.

Puppet's image_build module is a promising new way of building containers directly...