Vagrant Chef 環境準備
chef soloのrecipeのテスト環境として、Vagrantを使うのがいいらしいと聞いたので、CentOS6.4の上に、Vagrantをインストールし、Vagrant上のマシンにローカルからIP指定でssh接続するまでの証跡を残しておこうと思う。
通常、 vagrant sshというコマンドを打てばVagrant上のマシンにはつなげるか、後々にknife-solo+chef soloでのテストを行う為、IPベースのsshでつなげるところまでやる。
今回の作業は、vagrantであげたインスタンスにssh IPアドレスって形ログイン出来る事をゴールとします。
プラットホーム:Cent0S6.4
作業するにあたり、下記を非常に参考させていただきました。
■参照
参考URL:http://hirofukami.com/
書籍:入門chefsolo
■概要
・VirutalBoxインストール
・Vagrant+Saharaインストール
Web上では、すんなり出来たという情報が結構あったがそこそこハマったので同じエラーで困ってる人の役には立つかもしれません。
・VirutalBoxインストール
..VirtualBoxの準備
$ cd /etc/yum.repos.d/
$ wget http://download.virtualbox.
$ sudo yum install -y VirtualBox-4.2
・Vagrant+Saharaインストール
$ sudo wget http://files.vagrantup.com/
$ sudo rpm -i vagrant_1.3.5_x86_64.rpm
$ vagrant -v
Vagrant 1.3.5
$ vagrant plugin install sahara
$ vagrant -h
Usage: vagrant [-v] [-h] command [<args>]
-v, --version Print the version and exit.
-h, --help Print this help.
Available subcommands:
box
destroy
halt
help
init
package
plugin
provision
reload
resume
sandbox #これが追加されていればOK
ssh
ssh-config
status
suspend
up
#vagrantbox vagrant用のVirtualboximageをダウンロー
$ vagrant box add cent64 http://developer.nrel.gov/
#任意のディレクトリを作成
$sudo mkdir /opt/vagrantbox/dev1
$cd /opt/vagrantbox/dev1
#vagrant初期化
$ sudo vagrant init
#networkの構成をいじる
$ vim Vagrantfile
config.vm.box = "cent64"
#config.vm.network :hostonly, "192.168.50.12" #これは古いバージョンのvagrantの指定方法らしい。。。
config.vm.network :private_network, ip: "192.168.50.12"
#こけたー
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'cent64'...
Progress: 90%/opt/vagrant/embedded/gems/
/opt/vagrantbox/dev1/.vagrant/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
from /opt/vagrant/embedded/gems/
#エラーが出ているディレクトリのパーミッションを確認
$ find /opt/vagrantbox/dev1/.vagrant/
#
#vagrant initをsudoで行った事で、
drwxr-xr-x. 2 UserName UserName 4096 2月 5 21:48 2014 virtualbox
drwxr-xr-x. 3 UserName UserName 4096 2月 5 21:17 2014 default
#下記ディレクトリのパーミッションを自分に変える事でOK
$ sudo chown UserName:UserName /opt/vagrantbox/dev1/.vagrant/
$ sudo chown UserName:UserName
/opt/vagrantbox/dev1/.vagrant/
#再度起動 出来たー
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'cent64'...
[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 machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
#入れたー
$ vagrant ssh
Welcome to your Vagrant-built virtual machine.
$ pwd
/home/vagrant
#ローカルからIP指定のssh接続をする為の設定 knife-soloでchef-
#ssh 192.168.50.12でつつけるようにする
#ローカル環境に戻り実行
$ vim ~/.ssh/config
#中身
# ~/.ssh/config
Host 192.168.50.*
IdentityFile ~/.vagrant.d/insecure_private_
User vagrant
#さぁ、つなげるか。。またエラー。。
$ ssh 192.168.50.12
Bad owner or permissions on /home/UserName/.ssh/config
#/home/UserName/.ssh/config このファイルのパーミッションが644であるのが原因なのでho
$ chmod 600 /home/UserName/.ssh/config
#再チャレンジ 行けたー
$ ssh 192.168.50.12
Last login: Wed Feb 5 13:10:31 2014 from 192.168.50.1
Welcome to your Vagrant-built virtual machine.
参考までに今回実行したruby環境
$ which ruby
/usr/bin/ruby
$ gem -v
1.3.7
$ /opt/chef/embedded/bin/ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
$ /opt/chef/embedded/bin/gem -v
1.8.24