Book Image

Hands-On DevOps with Vagrant

By : Alex Braunton
Book Image

Hands-On DevOps with Vagrant

By: Alex Braunton

Overview of this book

Hands-On DevOps with Vagrant teaches you how to use Vagrant as a powerful DevOps tool and gives an overview of how it fits into the DevOps landscape. You will learn how to install VirtualBox and Vagrant in Windows, macOS, and Linux. You will then move on to understanding Vagrant commands, discovering its boxes and Vagrant Cloud. After getting to grips with the basics, the next set of chapters helps you to understand how to configure Vagrant, along with networking. You will explore multimachine, followed by studying how to create multiple environments and the communication between them. In addition to this, you will cover concepts such as Vagrant plugins and file syncing. The last set of chapters provides insights into provisioning shell scripts, also guiding you in how to use Vagrant with configuration management tools such as Chef, Ansible, Docker, Puppet, and Salt. By the end of this book, you will have grasped Vagrant’s features and how to use them for your benefit with the help of tips and tricks.
Table of Contents (21 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Understanding Puppet


Puppet is a configuration management tool that is used for deploying, configuring, and managing nodes (servers).

Puppet was released by Luke Kanies in 2005. It was written in C++, and Clojure and runs on Linux, Unix, and Windows. The current version is 5.5.3 and was released in July 2018. Puppet as a software falls into the infrastructure as code category, which means that you configure and make changes using code and configuration files. Puppet uses manifest files to help configure nodes/servers (we'll learn more about this in a later section).

 

Puppet uses a pull configuration (master and slave) architecture in which the nodes (Puppet agent) poll the master server for configuration files and changes. There is a four-step life cycle in this master/slave process:

  1. The node sends facts about itself to the master server.
  2. The master server uses these facts to compile a catalog as to how the node should be configured. It then sends the catalog back to the node.
  3. The node uses the...