vagrant勉強会アップロード用

40
株株株株株株株株 株株株株 Vagrant 株株株

Upload: takeuchi-tk

Post on 24-Jun-2015

3.433 views

Category:

Technology


2 download

DESCRIPTION

vagrant勉強会の資料。 外部向けに行った勉強会で使ったスライド。

TRANSCRIPT

Page 1: Vagrant勉強会アップロード用

株式会社イプロス 竹内孝志

Vagrant 導入編

Page 2: Vagrant勉強会アップロード用

自己紹介

▌ 竹内 孝志(たけうち たかし)▌ 1985 年 12 月 18 日▌ 大学卒業後 SIer で3年勤務した後に転職▌ 現在はイプロスに WEB エンジニアとして勤

務▌ 主な業務はイプロスサイトの改善と機能拡張▌ アジャイル開発を極めるため修行中▌ 趣味はオンラインゲーム▌ ただのひきこもり

Page 3: Vagrant勉強会アップロード用

導入編の目的

▌ Vagrant とは何か知ること▌環境を導入できるようになること▌基本的機能を使えるようになること

Vagrant を知らない人、使ったことない人が・・・

Page 4: Vagrant勉強会アップロード用

導入編の流れ

1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )

Page 5: Vagrant勉強会アップロード用

導入編の流れ

1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )

Page 6: Vagrant勉強会アップロード用

Vagrant とは

仮想マシンの環境構築作業を自動化するためのツール。Ruby で組まれたスクリプト。仮想マシンを CUI から操作することができる。box があれば同一環境を作ることができる。

Page 7: Vagrant勉強会アップロード用

box とは

box は Vagrant で使用する仮想マシンのイメージです。仮想マシンを作成するためのひな形、テンプレートのようなもの。box は CentOS, Debian, Ubuntu, Windows Server など様々な OS が利用できます。

Page 8: Vagrant勉強会アップロード用

ターミナル

イメージ図

Vagrant

仮想化環境

仮想マシンVirtual Machine

仮想マシンVirtual Machine

仮想マシンVirtual Machine

作成

起動・停止

破棄

Page 9: Vagrant勉強会アップロード用

対応する仮想化環境

VirtualBox

VmwareFusion

AWS

RackspaceCloud

Page 10: Vagrant勉強会アップロード用

box (一部抜粋)http://www.vagrantbox.es/ にて、 120 以上の box が公式に配布されている

イメージ 対応 サイズ

Aegir-up Aegir VirtualBox 297MB

CentOS 6.4 i386 Minimal VirtualBox 416MB

Debian squeeze 32 VirtualBox 397MB

Fedora 17 i386 VirtualBox 804.25MB

Gentoo VirtualBox 717MB

Ubuntu precise 64 VMWare VMware 321MB

Page 11: Vagrant勉強会アップロード用

メリット

▌個人のローカルに依存しない環境が構築できる

▌すぐに使える仮想環境を構築することができる

▌環境が壊れてもすぐ復旧できる

Page 12: Vagrant勉強会アップロード用

個人のローカルに依存しない

Download

Download

Download

それぞれが独自に環境を構築 みんな同じ環境を構築

Page 13: Vagrant勉強会アップロード用

すぐに仮想環境が構築可能

ソフトウェアを1つずつインストール

構築済みの box を適用させるだけ

Page 14: Vagrant勉強会アップロード用

環境が壊れても復旧できる

コマンド1つで壊れる前の状態に復旧可能

Page 15: Vagrant勉強会アップロード用

イプロスでの用途例

CentOS 上に構築した開発環境

Windows マシン MacOS マシン

開発環境 開発環境 開発環境 開発環境

Page 16: Vagrant勉強会アップロード用

導入編の流れ

1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )

Page 17: Vagrant勉強会アップロード用

ローカルマシン

Vagrant 導入方法

VirtualBox

CentOSvagrant

Page 18: Vagrant勉強会アップロード用

手順

①VirtualBox インストール②Vagrant インストール③CentOS の box 導入④ 起動確認⑤ 接続確認

Page 19: Vagrant勉強会アップロード用

VirtualBox インストール

https://www.virtualbox.org/

Page 20: Vagrant勉強会アップロード用

Vagrant インストール

http://www.vagrantup.com/

Page 21: Vagrant勉強会アップロード用

CentOS の box 導入

$ vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box

$ vagrant init centos64

※ この時点でコマンドを実行したパスに Vagrantfile が生成される

Page 22: Vagrant勉強会アップロード用

起動確認

$ vagrant up

Page 23: Vagrant勉強会アップロード用

接続確認( Mac の場合)

$ vagrant ssh

Page 24: Vagrant勉強会アップロード用

接続確認( Windows の場合)

Teraterm

VirtualBox

CentOSデフォルト127.0.0.1

Teraterm などで接続を行う。

User:vagrantPassword:vagrant

Page 25: Vagrant勉強会アップロード用

よくあるトラブル

$ vagrant upBringing machine 'default' up with 'virtualbox' provider...[default] Importing base box 'centos64_64'...[default] Matching MAC address for NAT networking...[default] Setting the name of the VM...[default] Clearing any previously set forwarded ports...[default] Creating shared folders metadata...[default] Clearing any previously set network interfaces...[default] Preparing network interfaces based on configuration...[default] Forwarding ports...[default] -- 22 => 2222 (adapter 1)[default] Booting VM...[default] Waiting for VM to boot. This can take a few minutes.

ここで止まる

Windows で vagrant を起動したときに途中で止まる。

Page 26: Vagrant勉強会アップロード用

解決策BIOS 設定で CPU の仮想化機能を ON にする ( デフォルトは OFF) 。

Page 27: Vagrant勉強会アップロード用

導入編の流れ

1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )

Page 28: Vagrant勉強会アップロード用

使い方

▌基本的な設定►IP の設定►共有ディレクトリの設定►メモリの設定

▌基本的な使い方►起動・停止・削除►イメージの作成►プラグインのインストール

Page 29: Vagrant勉強会アップロード用

ディレクトリ構成

Vagrant init 実行ディレクトリ

.vagrant

Vagrantfile

仮想マシンの紐付けなど

VM の設定ファイル

Page 30: Vagrant勉強会アップロード用

設定変更方法

Vagrantfile を変更する

Page 31: Vagrant勉強会アップロード用

IP の設定

# Create a private network, which allows host-only access to the machine# using a specific IP.# config.vm.network :private_network, ip: "192.168.33.10”

Config.vm.network 行のコメントアウトを外す

VM の IP アドレスとして設定したい値にする

Vagrantfile

Page 32: Vagrant勉強会アップロード用

共有ディレクトリの設定

# Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data"

ホストマシン側のパス バーチャルマシン側のパス

Vagrantfile

Page 33: Vagrant勉強会アップロード用

メモリの設定

config.vm.network :public_network, :public_network => "wlan0”vb.customize ["modifyvm", :id, "--memory", "2048", "--cpus", "2"]

割り当てるメモリ 割り当てる CPU

Vagrantfile

Page 34: Vagrant勉強会アップロード用

起動・停止・削除

$ vagrant up

$ vagrant halt

$ vagrant destroy

◆ 起動

◆ 停止

◆ 削除

Page 35: Vagrant勉強会アップロード用

box 作成

◆box の作成

$ vagrant package

Vagrantfile がある場所に package.box が作られる

※ 詳しくはこの後の実践編で解説

Page 36: Vagrant勉強会アップロード用

プラグインインストール

$ vagrant plugin install XXXXXX

◆ プラグインのインストール

※ 詳しくはこの後の実践編で解説

Page 37: Vagrant勉強会アップロード用

導入編の流れ

1.Vagrant の概要2.Vagrant の導入方法3.Vagrant の使い方4. デモ ( 基本的な使い方 )

Page 38: Vagrant勉強会アップロード用

デモ

① 作成② 起動③ 設定変更④ 再起動⑤ 停止⑥ 破棄

ターミナルと Virtualbox の管理画面を見比べる

※Vagrant 、 Virtualbox インストール済み※CentOS の box ダウンロード済み

Page 39: Vagrant勉強会アップロード用

本日のまとめ

▌ Vagrant とは仮想環境を操作するスクリプト

▌導入方法は本資料参考▌使い方は本資料参考

Page 40: Vagrant勉強会アップロード用

ご清聴ありがとうございました