オレオレプロジェクトでChef-Zeroを使ってみる。knife-zero経由が楽そうなのでその方針で。
Mac(Yosemite)でやる。gemでインストールした古いChef/Knife環境があったのでアンインストール。
対象のサーバはVagrantで立ててある。
下準備
1. ChefDKを入れる
https://downloads.chef.io/chef-dk/ からインストール
chef使うときはChefDKのruby環境を使うようにする。
eval "$(chef shell-init zsh)"
2. knife-zeroを入れる
chef gem install knife-zero
mkdir .chef
echo 'local_mode true' > .chef/knife.rb
3. vagrant up
適当にVagrantfile作ってvagrant up
しておく。
Vagrantでprovisionはしない。本番環境作るときはどうせchef/knife使うのと、環境固まったらvagrant package
するので。
vagrant ssh-config >> ~/.ssh/config
してssh楽に
zeroる
4. knife zero bootstrap
knife environment create development
knife zero bootstrap default -x vagrant --sudo -E development
5. knife zero chef_client
chef_clientで管理下のnode(1個だけど...)を更新
knife zero chef_client 'chef_environment:development' -a hostname -x vagrant
chef_client
する時のattributes(-a)がhostnameで良いのか不安。あとattributesを省略する方法は無いのかしら?