Date post: | 06-May-2015 |
Category: |
Technology |
Upload: | evans-ye |
View: | 621 times |
Download: | 0 times |
Vagrant
04/11/2023 Copyright 2013 Trend Micro Inc.
Agenda
• Introduction to Vagrant
• Create VM
• Provisioning
• plugins
04/11/2023 Copyright 2013 Trend Micro Inc.
Introduction
04/11/2023 Copyright 2013 Trend Micro Inc.
Vagrant
• A open source command line VM provision tool
• MIT licence
• Still virtualization,but more easier, more flexible
• Support shell, puppet, chef on provisioning
04/11/2023 Copyright 2013 Trend Micro Inc.
Easy to use and share
http://www.vagrantbox.es/http://puppet-vagrant-boxes.puppetlabs.com/
04/11/2023 Copyright 2013 Trend Micro Inc.
• Install virtualbox– https://www.virtualbox.org/wiki/Downloads
• Install vagrant (support windows, mac, linux)– http://downloads.vagrantup.com/tags/v1.3.5
• Get GNU commands on windows (not necessary)– Install git (MINGW)– Install Cygwin (too fat)
Installation
04/11/2023 Copyright 2013 Trend Micro Inc.
ArchitectureProviders
04/11/2023 Copyright 2013 Trend Micro Inc.
• Via VBoxManage tool
• list running VM– $ VBoxManage list runningvms
• pause VM– $ VBoxManage controlvm <vmname> pause
• send poweroff single to VM (tells VM OS to shutdown)– $ VBoxManage controlvm <vmname> acpipowerbutton
• …
How does it work?
04/11/2023 Copyright 2013 Trend Micro Inc.
• Deploy a project on a machine for testing– mess things up– Fix it – …loop…
• Environment specific– I can run it well on MY machine
(cause I only test it on my machine)
• Can not automate
• I don’t have machines…
Why we need it
04/11/2023 Copyright 2013 Trend Micro Inc.
Problem to solve
• Provisioning: – automate trivial things
• install httpd, mysql, config, config, config…
• reuse:– Package configured VM as a “box”
• testing:– clean environment for testing
• Portable:– one box file– local machine
04/11/2023 Copyright 2013 Trend Micro Inc.
Create VM
04/11/2023 Copyright 2013 Trend Micro Inc.
• Vm status control:– Up– halt– destroy– reload
(for config change)– resume– suspend
Basic Commands
04/11/2023 Copyright 2013 Trend Micro Inc.
• vagrant box add precise32 http://files.vagrantup.com/precise32.box
• Vagrant init precise32 (new a vagrantfile)
• Vagrant up (create VM)
• vagrant ssh (get into the VM)
Create a VM
04/11/2023 Copyright 2013 Trend Micro Inc.
• default : eth0 for NAT
• Port forwarding– config.vm.network :forwarded_port, host: 8070, guest: 8070
• Host-only– config.vm.network :private_network, ip: "192.168.56.2“
• Bridge– config.vm.network :public_network– config.vm.network :public_network, :bridge => 'en0: Wi-Fi
(AirPort)‘• (Not always work)
Networking
04/11/2023 Copyright 2013 Trend Micro Inc.
• Hardware spec.– config.vm.provider :virtualbox do |vb|– vb.customize ["modifyvm", :id, "--memory", "1024"]– end
• Hostname– config.vm.hostname = “YOUR_HOSTNAME“
• Share folder– config.vm.synced_folder "../data", "/vagrant_data“ host guest
More settings in Vagrantfile
04/11/2023 Copyright 2013 Trend Micro Inc.
Provisioning
04/11/2023 Copyright 2013 Trend Micro Inc.
• Auto execute the shell script as root
• Vagrantfile syntax:– config.vm.provision :shell, :path => "bootstrap.sh"
• Command– $ vagrant provision –provision-with shell
Shell
04/11/2023 Copyright 2013 Trend Micro Inc.
• Auto apply a puppet script
• Vagrantfile syntax:– config.vm.provision :puppet do |puppet|– puppet.manifests_path = "manifests"– puppet.manifest_file = "init.pp"– end
• Folder structure:– Vagrantfile– Manifests
– Init.pp
Puppet
04/11/2023 Copyright 2013 Trend Micro Inc.
• vagrant plugin install vagrant-vbox-snapshot
• vagrant plugin install vagrant-vbguest
Plugins
04/11/2023 Copyright 2013 Trend Micro Inc.
Q&A
04/11/2023 Copyright 2013 Trend Micro Inc.
Backup Slides
04/11/2023 Copyright 2013 Trend Micro Inc.
• ssh– Install git (MINGW)– Install Cygwin (too fat, I think)
• There’re many ways you can do to achieve this goal,My suggestion is to install git on your windows– Download git– 6 page quick tutorial
• Then use putty to ssh in.
Get ssh command on windows
04/11/2023 Copyright 2013 Trend Micro Inc.
Reference
• http://www.slideshare.net/ihower/vagrant-osdc
• https://github.com/mitchellh/vagrant-aws
• http://kvz.io/blog/2013/01/16/vagrant-tip-keep-virtualbox-guest-additions-in-sync/