諸事情あってchef+vagrantの勉強をしているので備忘録代わりに色々書く(進行形). 前提としてVirtualBoxが入っていること.
インストール
Vagrant
- Vagrantのインストール
http://vagrantup.com/downloads.html からrpmを落としてきて"rpm -Uvh package"する.
- Pluginのインストール
- ChefをProvisioningするプラグイン(必須)とAWS用のプラグイン,サンドボックス環境を入れる.
$ vagrant plugin install vagrant-omnibus
$ vagrant plugin install vagrant-aws
$ vagrant plugin install sahara
- "vagrant plugin list"で入れたプラグイン一覧を確認できる
$ vagrant plugin list
sahara (0.0.17)
vagrant-aws (0.6.0)
vagrant-omnibus (1.4.1)
vagrant-share (1.1.3, system)
Chef
Chef DKを入れることにより,ChefだけでなくBerkshellなども全部一緒に入る.
- Chefのインストール
https://downloads.getchef.com/chef-dk/ からパッケージを落としてくる.
- 例によって"rpm -Uvh package"で入れる.
- knife-soloのインストール
$ chef gem install knife-solo
使い方
Chef初期設定ファイルを生成
"knife solo init {リポジトリ名}"で生成するが,"."を指定することによりカレントディレクトリに展開される.
$ knife solo init .
Vagrant Boxファイルの準備
構築する仮想環境のベースとなる,仮想マシンを準備する.<br> 標準では https://vagrantcloud.com/discover/featured で配布されている.その他にも,
でも配布されている. ここでは標準で配布されているCentOS-6.5を用いることにする.以下のようにして取得する.
$ vagrant box add chef/centos-6.5
取得したBoxファイルは次のコマンドで確認できる.
$ vagrant box list
centos7_64 (virtualbox, 0)
chef/centos-6.5 (virtualbox, 1.0.0)
ちなみに,他のページから取得する場合は,
$ vagrant box add http://opscode-vm-bento.s3.amazonaws.com/vagrant/vmware/opscode_centos-6.6_chef-provisionerless.box --name bento-centos66
などとすればよい.
...