Vagrant mongonouchi9
-
Upload
harutsugu-shimodi -
Category
Documents
-
view
422 -
download
1
Transcript of Vagrant mongonouchi9
MongoDB の検証環境を作ってみよう
About me.
質問です
検証環境作ってますか?
本番環境と同じ構成ですか?
簡単に配布できますか?
3 分で再構築できますか?
検証環境が壊れた。捨てて再構築したい
3 分で再構築できますか?
via http://www.slideshare.net/TakeshiKomiya/3-201207-pyfes
検証環境が壊れた。捨てて再構築したい手順書が 20 項目くらいある
3 分で再構築できますか?
via http://www.slideshare.net/TakeshiKomiya/3-201207-pyfes
検証環境が壊れた。捨てて再構築したい手順書が 20 項目くらいあるしかも間違ってる ( オペミスかもしれない)
3 分で再構築できますか?
via http://www.slideshare.net/TakeshiKomiya/3-201207-pyfes
検証環境が壊れた。捨てて再構築したい手順書が 20 項目くらいあるしかも間違ってる ( オペミスかもしれない)なんだかんだ対応してたら一日過ぎた
3 分で再構築できますか?
via http://www.slideshare.net/TakeshiKomiya/3-201207-pyfes
Version UP のリハーサル環境がほしい
MongoDB の場合
Version UP のリハーサル環境がほしいVersion ごとの挙動の変化を確認したい ex. 以前踏んだあのバグ、直ったのか確かめたい
MongoDB の場合
Version UP のリハーサル環境がほしいVersion ごとの挙動の変化を確認したい ex. 以前踏んだあのバグ、直ったのか確かめたいReplicaSets や Sharding 環境を何度も作り直すの めんどくさい
MongoDB の場合
Version UP のリハーサル環境がほしいVersion ごとの挙動の変化を確認したい ex. 以前踏んだあのバグ、直ったのか確かめたいReplicaSets や Sharding 環境を何度も作り直すの めんどくさいAWS 使えば多数の環境を用意できるけど、有料。。
MongoDB の場合
Version UP のリハーサル環境がほしいVersion ごとの挙動の変化を確認したい ex. 以前踏んだあのバグ、直ったのか確かめたいReplicaSets や Sharding 環境を何度も作り直すの めんどくさいAWS 使えば多数の環境を用意できるけど、有料。。手順書作ってもメンテされない・しきれないよね
MongoDB の場合
環境構築自動化したいよね
VirtualBox の管理ソフトウェア
Vagrant とは?
VirtualBox の管理ソフトウェアOS が box イメージという形で配布されている
Vagrant とは?
VirtualBox の管理ソフトウェアOS が box イメージという形で配布されているChef-solo が組み込まれているため、簡単に構成管
理できる ⇒ 開発環境と本番環境の環境を揃えやすい
Vagrant とは?
VirtualBox の管理ソフトウェアOS が box イメージという形で配布されているChef-solo が組み込まれているため、簡単に構成管
理できる ⇒ 開発環境と本番環境の環境を揃えやすいSandbox 機能で、何度でも変更を Rollback できる ミドルウェアバージョンアップ検証 構成の変更の検証 デプロイの試験などがお手軽に
Vagrant とは?
DEMOMongoDB 2.4.1 で Replica Sets を構築
VirtualBoxVagrant 1.0.7 (Chef-solo)Ruby1.9.3-p392MongoDB 2.4.1
DEMO 環境の材料
Hands-onMongoDB 2.4.1 で Replica Sets を構築
USB メモリの中身についてUSBメモリ +- win or mac : Vagrantのインストールに必要なバイナリが入っています。 +- vagrant : 今回作成する VagrantVMに必要なファイルが入っています。
Hands-on – 1. InstallationMongoDB 2.4.1 で Replica Sets を構築
VirtualBoxVagrant 1.0.7 (Chef-solo)Ruby1.9.3-p392
材料
VirtualBox-4.2.12-84980-Win.exeVirtualBox-4.2.12-84980-OSX.dmg
VirtualBox のインストール
Vagrant.msi install path : C:\vagrantVagrant.dmg install path : 指定しませんでした
Vagrant のインストール
rubyinstaller-1.9.3-p392.exe
Ruby1.9.3-p392 のインストール
環境変数 PATHを
設定するにチェックを入れ
る
$ sudo port install ruby19 下記のようにインストールされます $ ruby1.9 -v
Ruby1.9.3-p392 のインストール
Hands-on – 2. VM SetupMongoDB 2.4.1 で Replica Sets を構築
下記ディレクトリ直下に、 USB メモリの vagrant ディレクトリの中身を 展開します。 C:\vagrant\mongors\ ~/vagrant/mongors/ が今回のワークスペースになります。
Win : C:\vagrant\ 直下Mac : ~/vagrant/ 直下
VM のワークスペースを用意する
下記のディレクトリ直下で、下記を実行 vagrant box add $VmName $vm.box
Win : C:\vagrant\mongors\ 直下で vagrant box add mongors C:\vagrant\boxes\CentOS-6.3-i386-v20130101.boxMac : ~/vagrant/mongors/ 直下で vagrant box add mongors ~/vagrant/mongors/ boxes/CentOS-6.3-i386-v20130101.box
VM のテンプレート box をVagrant に登録する
Vagrantfile を編集
VM の設定ファイルを作る
Vagrant::Config.run do |config| config.vm.box = "mongors" config.vm.define :rs1 do |config| config.vm.customize ["modifyvm", :id, "--memory", "1024", "--cpus", "1", "--name", "mongors1"] config.vm.network :hostonly, "192.168.56.100", :netmask => "255.255.255.0“ endend
vagrant up
VM を起動してみる
ターミナルで、 ssh localhost:2222 ID/Password : vagrant/vagrant
VM へ ssh 接続してみる
Hands-on – 3. MongoDB Replica Setson Vagrant VMMongoDB 2.4.1 で Replica Sets を構築
vagrant destroy
さっき作った VM は捨てちゃおう
Vagrantfile を編集
VM の設定ファイルを修正し VM 起動時に MongoDB をインストールするよう設定する
Vagrant::Config.run do |config| config.vm.box = "mongors" config.vm.define :rs1 do |config| config.vm.customize ["modifyvm", :id, "--memory", "1024", "--cpus", "1", "--name", "mongors1"] config.vm.network :hostonly, "192.168.56.100", :netmask => "255.255.255.0" config.vm.provision :chef_solo do |chef| chef.cookbooks_path = "./chef-repo/cookbooks" chef.add_recipe "mongodb" end endend
vagrant up
VM を起動する
ターミナルで、 ssh localhost:2222 ID/Password : vagrant/vagrant
VM へ ssh 接続する
ssh 接続して、 MongoDB の Replica Sets を初期化する
Replica Sets を設定する
config = {_id: 'mongors', members: [
{_id: 0, host: 'localhost:27017'},{_id: 1, host: 'localhost:27018'},{_id: 2, host: 'localhost:27019'}
]}
rs.initiate(config);
$ /usr/local/mongodb/mongors.1/product/bin/mongo --port 27017
おまけ
Sandbox (Sahara plugin) vagrant gem install sahara
静止点の作成 vagrant sandbox on静止点へのロールバック vagrant sandbox rollbackchef のレシピテストや、 MongoDB などのアップ
グレード手順の検証に便利です。
こんな機能もあります。
## knife-solo が必要です。gem install knife-solo で入ります。
1.リソースリスト http://docs.opscode.com/resource.html
2.参考レシピリスト http://community.opscode.com/
Cookbook 、作ってみる?