Vagrant workflow Jul. 15, 2014.

Slides:



Advertisements
Similar presentations
Inside Windows Azure Virtual Machines Vijay Rajagopalan Microsoft Corporation.
Advertisements

Importing a PTSG Virtual Machine Import PTSG VMs with VirtualBox Machines are VMDK format packaged in.ova format Ex. Clients: VirtualBox, VMPlayer.
Reproducible Environment for Scientific Applications (Lab session) Tak-Lon (Stephen) Wu.
Installing and Setting up mongoDB replica set PREPARED BY SUDHEER KONDLA SOLUTIONS ARCHITECT.
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
To run the program: To run the program: You need the OS: You need the OS:
Red Hat Installation. Installing Red Hat Linux is the process of copying operating system files from a CD, DVD, or USB flash drive to hard disk(s) on.
Space Science and Engineering Center University of Wisconsin-Madison Virtual Machines: A method for distributing DB processing software Liam Gumley.
Telnet/SSH: Connecting to Hosts Internet Technology1.
Raspberry Pi Training Truman College Goals of our Training Today Unbox and boot up the Raspberry Pi (RPi) Learn how to access the desktop graphical.
Getting Started with GIT. Basic Navigation cd means change directory cd.. moves you up a level cd dir_name moves you to the folder named dir_name A dot.

Customized cloud platform for computing on your terms !
Building service testbeds on FIRE D5.2.5 Virtual Cluster on Federated Cloud Demonstration Kit August 2012 Version 1.0 Copyright © 2012 CESGA. All rights.
Windows Azure Conference 2014 Running Docker on Windows Azure.
MCDevOps Infrastructure In One Hour. Sponsors Improving Enterprises Software Development.
CSN08101 Digital Forensics Lecture 1B: Essential Linux and Caine Module Leader: Dr Gordon Russell Lecturers: Robert Ludwiniak.
TRD 1: NMRbox Development
Hands-On Virtual Computing
Client Installation StratusLab Tutorial (Orsay, France) 28 November 2012.
VMware + Chef A VMworld Workshop.
Model a Container Runtime environment on Your Mac with VMware AppCatalyst VMworld Fabio Rapposelli
Cloud Standard API and Contextualization
Linux in a Virtual Environment Nagarajan Prabakar School of Computing and Information Sciences Florida International University.
The Art and Zen of Managing Nagios with Puppet Michael Merideth - VictorOps
Advanced Topics StratusLab Tutorial (Orsay, France) 28 November 2012.
Introduction to GitHub Alex Bigazzi Dec. 4, 2013 ITS Lab GitHub Introduction1.
Ubuntu, SUSE, OpenSUSE, CentOS & Oracle EL + hundreds on VM Depot Bring your own framework! Ecosystem Supported Microsoft 1st Party Support.
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
NA61/NA49 virtualisation: status and plans Dag Toppe Larsen CERN
Data Science Background and Course Software setup Week 1.
Intro to Git presented by Brian K. Vagnini Hosted by.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
36 th LHCb Software Week Pere Mato/CERN.  Provide a complete, portable and easy to configure user environment for developing and running LHC data analysis.
Predrag Buncic (CERN/PH-SFT) CernVM Status. CERN, 24/10/ Virtualization R&D (WP9)  The aim of WP9 is to provide a complete, portable and easy.
Eliminate Team Build Headaches with Unit Tests, WiX and Virtualization Benjamin Day
Volatile Environments with Virtualization Technologies 1 iCSC2016, Anastasios Andronidis, Imperial College London Volatile Environments with Virtualization.
SCI-BUS is supported by the FP7 Capacities Programme under contract nr RI CloudBroker usage Zoltán Farkas MTA SZTAKI LPDS
Installing git In Linux: sudo apt-get install git In Windows: download it from run the setuphttp://git-scm.com/download/win.
Ganeti Instance Creation
Welcome to the Virtual Machine Mark Cyzyk The Sheridan Libraries Johns Hopkins University.
VirtualBox Introduction:
Alfresco Software Provisioning Kit
bitcurator-access-webtools Quick Start Guide
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
ONAP on Vagrant for ONAPers
Efficient development and deployment of Hydra projects using Vagrant
Using Vagrant to Build a Manageable and Sharable Lab Environment
VAGRANT AND DOCKER AS LEARNING ENVIRONMENTS
StratusLab Tutorial (Bordeaux, France)
StratusLab Tutorial (Bordeaux, France)
Containers and Virtualisation
Vagrant Managing Virtual Machines
Virtualization overview

Lab 1 introduction, debrief
Drupal VM and Docker4Drupal For Drupal Development Platform
An introduction to version control systems with Git
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
OPNFV Arno Installation & Validation Walk-Through
Telnet/SSH Connecting to Hosts Internet Technology.
Intro about Contanier and Docker Technology
Introduction to Git and GitHub
bitcurator-access-webtools Quick Start Guide
Docker Some slides from Martin Meyer Vagrant Box:
Introduction to Docker
Lab 1: Getting Started.
Azure Container Service
Operating System Kernel Compilation
DIBBs Brown Dog Tutorial Setup
Presentation transcript:

Vagrant workflow Jul. 15, 2014

What is vagrant DevOps Infrastructure as code Desktop Cloud Virtualization lays the ground One command gets a cluster Workflow Always starts over from a defined clean state

Software stacks Hardware Host Kernel Hypervisor(VMM) Guest Kernel Binaries/ Libraries App Guest Kernel Binaries/ Libraries App Guest Kernel Binaries/ Libraries App Hardware Host Kernel Binaries/ Libraries App Binaries/ Libraries App Binaries/ Libraries App namespace & cgroup

Vagrant workflow git clone cd project vagrant up vagrant ssh, vagrant putty, vagrant rdp vagrant halt vagrant destroy git commit git push

Vagrant up (demo) Downloads and import box Creates VM Modifies VM Memory, CPU, MAC, … Sets port forwarding, shared folders Boots up VM Login to do more settings Hostname provision

Vagrantfile Vagrant.configure("2") do |config| # relative path, same directory to Vagrantfile config.vm.provision "shell", path: "provision.sh" config.vm.define "web" do |web| web.vm.box = “robin/apache" web.vm.network "private_network", ip: " “ web.vm.forwarded_port guest: 80, host: 8080, host_ip: " " end config.vm.define "db" do |db| db.vm.box = “robin/mysql" db.vm.network "private_network", ip: " " end Version controlled Ruby syntax Supports provision Easy cluster

VM transfers Box repository boxes VirtualBox VMs add up package, upload

Vagrant state Per-user global state boxes plugins machines index Per-project state synced folders VM uuid’s boxes └ metadata_url └ box version └ virtualbox provider ├ box.ovf VM definition ├ box-disk1.vmdk VM disk ├ metadata.json {"provider":"virtualbox"} └ Vagrantfile per-box configuration, eg. ssh account add

External state VirtualBox VMs Base VM snapshots Box repository box metadata box file precise32 └ box-disk1.vmdk 986MB base disk project_default_ _57131 ├ project_default_ _57131.box tiny snapshot └ Logs └ Vbox.log { "description": “This box from owner is a joke", "name": "owner/box", "versions": [ { "version": “m.n.p", "providers": [ { "name": "virtualbox", "url": “ }, ], }, ] } up add

Box file OVA with additional descriptions Tar, optionally gzip’ed $ tar ztf package.box./box-disk1.vmdk VM disk./box.ovf OVF descriptor./Vagrantfile per-box settings./metadata.json tracks provider

VM for packaging Minimal system Lowest hardware spec better modified on VM boot SSH service public key enabled SSH account public key installed sudo ALL VirtualBox Guest Additions udev fixup

More features AWS plugin Windows guest since 1.6 VeeWee

References Mitchell Hashimoto. Vagrant Up and Running,