*** windows7 に Vagrantを入れてみる(複数台立てる) [#rfb2983b]
- webサーバとDBサーバとか複数のサーバを立てて検証したいときっていうのを検証してみた。ちろっとハマッたところもあるのでそこんとこをメモしておきます。
-- [[vagrantでVMを一度に複数台立てる>http://shibayu36.hatenablog.com/entry/2013/04/10/165600]]
-- [[Vagrantfile のすぐに使えそうな項目(2系)>http://qiita.com/tanaka51/items/31c9dd3a479d29cdd52c]]
** 必要なもの [#ndf35a83]
- VirtualBoxのインストール / [[2013/07/26(v4.2.16)>https://www.virtualbox.org/wiki/Downloads]]
- Vagrantのインストール / [[2013/07/26(v1.2.6)>http://downloads.vagrantup.com/]]
** dos窓ひらいたとこに [#t7a712de]
- dos窓を開いたとこに、COLOR(RED){Vagrantfile} ファイルがあるハズなので(なかったら作成するか、vargrant init)それを下記のように編集する。
Vagrant.configure("2") do |config|
config.vm.box = "CentOS-6.3-x86_64-v20130101"
config.vm.box_url = "http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box"
config.vm.define :web1 do |web1|
web1.vm.network :forwarded_port, guest: 22, host: 2222, host_ip: "127.0.0.1", id: "ssh", auto_correct: true
end
config.vm.define :web2 do |web2|
web2.vm.network :forwarded_port, guest: 22, host: 2223, host_ip: "127.0.0.1", id: "ssh", auto_correct: true
end
end
- ネットワーク構成図は、こんな感じ
- web1, web2 を起動してみる
c:\vargrant up web1
c:\vargrant up web2
** プライベートネットワークアドレスを設定する場合 [#o380c66b]
- 設定を追加
web1.vm.network :private_network, ip: "192.168.1.11"
web2.vm.network :private_network, ip: "192.168.1.12"
** 最終的な Vagrantfile [#t82bb811]
- 下記を考慮してみた
プライベートネットワークを構築 192.168.10.x
guest(192.168.10.13) / cef-soro を実行
web1(192.168.10.14) / chef-soro 非実行
メインネットワーク 192.168.x.x
web2(192.168.x.x) / dhcpでアドレスを取得
- Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "CentOS-6.4-x86_64-v20130427"
config.vm.box_url = "http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box"
#guest
config.vm.define :guest do |guest|
guest.vm.network :forwarded_port, guest: 22, host: 2240, host_ip: "127.0.0.1", id: "ssh", auto_correct: true
guest.vm.network :private_network, ip: "192.168.10.13"
guest.vm.hostname = "guest"
guest.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", 512]
#v.gui = true
end
guest.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "./chef-repo/cookbooks"
chef.add_recipe "hello"
end
end
#web1
config.vm.define :web1 do |web1|
web1.vm.network :forwarded_port, guest: 22, host: 2241, host_ip: "127.0.0.1", id: "ssh", auto_correct: true
web1.vm.network :private_network, ip: "192.168.10.14"
web1.vm.hostname = "web1"
web1.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", 384]
#v.gui = true
end
end
#web2
config.vm.define :web2 do |web2|
web2.vm.network :public_network
web2.vm.hostname = "web2"
web2.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", 384]
#v.gui = true
end
end
end