LoginSignup
12
12

More than 5 years have passed since last update.

Vagrant初期設定

Last updated at Posted at 2014-07-06

Vagrant

仮想マシン (バーチャルマシン) をプログラマブルに作成/破棄できるツールです。

インストール

homebrew-caskを使用しました。

brew cask install vagrant

インストーラはVagrant公式サイトからダウンロードできます。

仮想化ソフトウェア

仮想化ソフトウェアはVirtualBoxを使用しました。

インストール

こちらもhomebrew-caskを使用しました。
インストーラはVirtualBox公式サイトからダウンロードできます。

brew cask install virtualbox

Chef

物理、仮想、クラウドといったさまざまな大きさのインフラに対して、サーバやアプリケーションの展開を容易にするための自動化フレームワークです。

インストール

curl -L https://www.opscode.com/chef/install.sh | sudo bash

chef-solo

chefに同梱されている、単体でサーバー構築・管理を自動化するツールです。
サーバー構築・管理を自動化するツールをプロビジョニングツールと呼びます。

knife

Chefレポジトリを操作するためのツールです。

knife solo

ローカルで作ったレシピをリモートにsyncしてリモート側でchef-soloを実行するknifeのプラグインです。

インストール

/opt/chef/embedded/bin/gem install knife-solo --no-ri --no-rdoc

Vagrant plugin

vagrant-omnibus

仮想マシンのChefのインストール状況を確認して、自動的にインストールするプラグインです。

インストール

vagrant plugin install vagrant-omnibus

vagrant-vbguest

仮想マシンがVirtualboxの場合、仮想マシンのVirtualbox-guest-addtionのインストール状況を確認して、自動的にインストールするプラグインです。

インストール

vagrant plugin install vagrant-vbguest

vagrant-vbox-snapshot

仮想マシンのスナップショットを管理するプラグインです。

インストール

vagrant plugin install vagrant-vbox-snapshot

使い方

スナップショットの取得
vagrant shnapshot take [vm-name] <SNAPSHOT_NAME>
スナップショットの一覧表示
vagrant snapshot list
直前のスナップショットの復元
vagrant snapshot back
任意のスナップショットの復元
vagrant snapshot go [vm-name] <SNAPSHOT_NAME>
任意のスナップショットの削除
vagrant snapshot delete [vm-name] <SNAPSHOT_NAME>

Berkshelf

Cookbookとその依存関係の管理を行うツールです。

インストール

/opt/chef/embedded/bin/gem i berkshelf --no-ri --no-rdoc

Vagrant起動

box

Bentoプロジェクトから選択します。
https://github.com/opscode/bento

repository作成

opscode-centos-6.5を使用します。

mkdir project-name
cd project-name

vagrant init opscode_centos-6.5_chef-provisionerless http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box

/opt/chef/bin/knife solo init .

cookbook

gitのサードパーティcookbookを指定します。

Berkshelf

source "https://api.berkshelf.com"

cookbook 'git'

cookbookダウンロード

cookbooksディレクトリが存在するとダウンロード出来ないので、削除してダウンロードします。

rm -fr cookbooks
/opt/chef/embedded/bin/berks vendor cookbooks

Vagrantfile

vagrant-omnibus

vagrant-omnibusでインストールするchefのバージョンを指定します。
ここでは最新バージョンを指定します。

config.omnibus.chef_version = :latest

recipe追加

gitをインストールするようVagrantfileに追記します。

  config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
    chef.add_recipe "git"
  end

仮想マシンの設定

memoryの設定を行います。

  config.vm.provider :virtualbox do |vb|
    vb.gui = false
    vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

起動

vagrantを起動します。

vagrant up

仮想マシンに接続

vagrant ssh

もしくは

ssh vagrant@127.0.0.1 -p 2222
password: vagrant

リンク

Vagrant初期設定
自分で作成したcookbookをVagrantで適用する
VagrantでCentOS外部レポジトリの追加
Vagrant仮想マシン上にMySQL5.5インストール
Vagrant仮想マシン上のMySQLに接続
Vagrant仮想マシン上にredis2.8.12インストール

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12