ChefでMacから仮想環境を自動構築

Pocket

前回はvagrant環境1台で完結するように作りましたが、
今回はMacからvagrant環境のゲストOSにknife-zeroで構築する方法です。

インストール(MAC)

* ChefDk
* knife-zero
* vagrant-chef-zero
* vagrant-omnibus

ChefDkのインストール

https://downloads.chef.io/chef-dk/

chef gem install knife-zero
vagrant plugin install vagrant-omnibus
vagrant plugin install vagrant-chef-zero

ゲストOSの用意

いつも通りVagrantfileを作成し、vagrantupします。

knifeの設定

knife configure

~/.chef/knife.rbにknifeの設定ファイルが生成されます。
前回同様デフォルト設定のままで問題なので
全てEnterで進めてください。
今回もlocal_mode trueを追加します。

echo "local_mode true" >>  .chef/knife.rb

chefリポジトリの作成

chef generate repo chef-repo

cookbookの作成

cd ~/chef-repo
knife cookbook create httpd
vim cookbooks/httpd/recipes/default.rb

対象ノードの設定

knife zero bootstrap 192.168.10.104 --ssh-password vagrant --sudo -N local-node -x vagrant

nodeに実行するCookbookを追加

knife node run_list add local-node httpd

Cookbookの実行

knife zero converge 'name: local-node' -x vagrant  -a knife_zero.host --ssh-password vagrant ?sudo

knife.rbにknife[:ssh_attribute] = ‘knife_zero.host’
を追加すれば -a knife_zero.hostは省略できます。

まとめ

ゲストOS側では何も操作する必要がないので、サンプルでサイトの環境を簡単に作れて便利ですね。



Post Footer automatically generated by Add Post Footer Plugin for wordpress.

びのっち

関東圏で活動しているとてもマイペースなSEです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*