EncartaLabs

Vagrant

( Duration: 3 Days )

Vagrant is an open source software used to create and manage virtual development environments. It can be considered a wrapper around virtualization software such as VirtualBox and configuration management software such as Chef, Ansible, and Puppet. Vagrant allows you to use virtualization and cloud technologies to power faster, efficient, and sharable development environments. It duplicates the development environment to allow users to easily share and combine data on different machines and also takes care of security concerns.

In Vagrant training course, you will learn Vagrant’s core concepts, how to configure the virtualization tool, and how it will benefit your organizations.

By attending Vagrant workshop, delegates will learn to:

  • Connecting to a box
  • Working with Vagrant Cloud
  • Configuring boxes with Vagrantfiles
  • Creating a developer environment
  • Uploading a box to Vagrant Cloud

COURSE AGENDA

1

An Introduction to Vagrant

  • Why Vagrant?
  • The Tao of Vagrant
  • Alternatives to Vagrant
    • Plain Desktop Virtualization
    • Containers
    • Cloud
  • Vagrant Versions
2

Setting Up Vagrant

  • Installing VirtualBox
  • Installing Vagrant
    • Mac OS X
    • Windows
    • Linux
  • Common Mistakes
  • Improper PATH Configuration
  • Conflicting RubyGems Installation
  • Using Vagrant Without VirtualBox
3

Your First Vagrant Machine

  • Up and Running, The Vagrantfile
  • V1 versus V2 Configuration
    • Boxes
    • Up
    • Working with the Vagrant Machine
      • State of the Vagrant Machine
      • SSH
      • Shared Filesystem
      • Basic Networking
      • Teardown
      • Suspend
      • Halt
      • Destroy
4

Provisioning Your Vagrant VM

  • Why Automated Provisioning?
  • Supported Provisioners
  • Manually Setting Up Apache
  • Automated Provisioner Basics
    • Shell Scripts
    • Chef
    • Puppet
  • Multiple Provisioners
  • “No Provision” Mode
  • In-Depth Provisioner Usage
    • Shell Scripts
      • Inline scripts
      • Run-once script
    • Chef Server
    • Puppet
      • Modules
      • Hiera Data
      • Custom Facts
      • Using a Puppet Master
5

Networking in Vagrant

  • Forwarded Ports
    • Pros and Cons
    • Basic Usage
    • Collision Detection and Correction
    • TCP versus UDP
  • Host-Only Networking
    • Pros and Cons
    • Basic Usage
    • Guest Operating System Dependency
  • Bridged Networking
    • Pros and Cons
    • Basic Usage
  • Composing Networking Options
  • NAT Requirement As the First Network Interface
6

Modeling Multimachine Clusters

  • Running Multiple Virtual Machines
  • Controlling Multiple Machines
  • Communication Between Machines
    • Host-Only Networks
    • Bridged Networks
7

Boxes

  • Why Boxes?
  • Box Format
  • Basic Box Management with Vagrant
  • Creating New Boxes from an Existing Environment
  • Creating New Boxes from Scratch
    • Creating the VirtualBox Machine
    • Configuring the Operating System
    • Installing VirtualBox Guest Additions
    • Additional Software
    • Minimizing the Final Box Size
    • Packaging It Up
    • Setting Vagrantfile Defaults
8

Extending Vagrant with Plug-Ins

  • Extensible Features
  • Managing Vagrant Plug-Ins
  • Plug-In Development Basics
    • Plug-In Definition
    • Plug-In Components
    • Error Handling
    • Vagrant Internals
  • A Basic Plug-In Development Environment
  • Developing a Custom Command
    • Component
    • Implementation
    • Working with the Virtual Machine
    • Working with Multimachine Environments
    • Parsing Command-Line Options
  • Adding New Configuration Options
    • Component
    • Implementation
    • Accessing the Configuration
    • Configuration Merging
    • Validation
  • Adding a Custom Provisioner
    • Component
    • Implementation
    • Provisioner Configuration
    • Configuring the Machine
  • Modifying Existing Vagrant Behavior
    • Component
    • Implementation
    • Useful Keys in the Action Environment
  • Other Plug-In Components
  • Packaging the Plug-In
9

Vagrant Environmental Variables

  • VAGRANT_CWD
  • VAGRANT_HOME
  • VAGRANT_LOG
  • VAGRANT_NO_PLUGINS
  • VAGRANT_VAGRANTFILE
10

Vagrant Configuration Reference

11

Troubleshooting and Debugging

  • IRC, Mailing List/Google Group
  • Professional Support

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 4,000 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting http://encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top