Introduction to Vagrant

Introduction to Vagrant

Introduction to Vagrant Paul Waring ([email protected]) November 16, 2013 What is VirtualBox? I Software for managing virtual machines I Basic version is GPL I Advanced version has more features and usage restrictions I Innotek -> Sun -> Oracle What is Vagrant? I Wrapper around VirtualBox (and other virtualisation software) I Written in Ruby I Automatically create, configure and provision virtual machines I Open source and free software: MIT Licence (GPL-compatible) I www.vagrantup.com Why Vagrant? I Automatically create and destroy clean, sandboxed environments for development I Ensure development matches production: architecture, kernel, packages I Ensure all developers in a team are using the same configuration, toolchain etc. I Configuration file (Vagrantfile) can be included in project repository Vagrantfile I Plain text configuration file I Cascades: system, box, user, project I Create a default Vagrantfile: vagrant init Boxes I Containers for base images I Saves having to install complete operating system each time I Create once by manual installation in VirtualBox, or download examples I vagrant package --base [name] --output [file] I vagrant box add [name] [url] I vagrant box add precise32 http://files.vagrantup.com/precise32.box Basic Example I Create Vagrantfile: precise-vm/Vagrantfile I Boot VM: vagrant up I Login: vagrant ssh I Destroy VM: vagrant destroy Manual Provisioning I Boot VM: vagrant up I Login: vagrant ssh I Install Nethack: sudo apt-get install -y nethack-common I Run: nethack I Destroy VM: vagrant destroy I Boot VM: vagrant up I Confirm clean: which nethack Automatic Provisioning I Basic support within Vagrant for this, runs a script after booting I More flexibility requires Puppet or Chef I Can use built-in provisioning to bootstrap Puppet What is Puppet? I Configuration management and provisioning I Apache 2.0 licence since v2.7, Enterprise platform available I Describe desired state of server, Puppet makes it so I Declarative vs imperative I Vagrant has built-in support for Puppet manifests Puppet Example I Create manifests/default.pp I Enable Puppet provisioning - one line in Vagrantfile I Boot VM as normal: vagrant up I Run: nethack I Halt: vagrant halt I Boot VM, Nethack already installed so no action taken Questions I Slides and scripts on GitHub under BSD Licence I https://github.com/pwaring/vagrant-talk I Vagrant: Up and Running, Mitchell Hashimoto (O’Reilly).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us