簡単!MacOSXやLinuxにChef,Knife,Berkshelfを一発でインストールしてくれるChefDKの紹介
http://www.getchef.com/downloads/chef-dk/
CentOS6だとこんな感じで一発です。
sudo rpm -ivh https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chefdk-0.3.0-1.x86_64.rpm
rubyとかrbenvとかgemとかの環境について頭を悩ませる必要がないのでとても楽です。ちなみにChefDKを使わずに自力でこれらをインストールしようとするとどうなるかというと、すごい時間がかかります。
とくにBerkshelfが依存しているライブラリで"dep-selector-libgecode" というのがものすごい怪物のようなしろもので、コンパイルするのにメモリを2GBも占有するのでしょぼいマシンだとOOM Kiillerにやられてコンパイル途中で落ちたりします。悲しい。
詳しくはこの辺をごらんください。
"さくらのVPS Ubuntu14.04LTS初期設定 -berkshelfのインストール- | schrödinger.jp"
なので余計な苦労をしたくない人にはChefDKがおすすめです。
追加でknife soloをインストールする方法
ChefDKにはknife soloが含まれていません。追加でインストールするには下記のようにします。(MaxOSXで動作確認済み。Linuxでは未確認)
chef gem install knife-solo
こうすれば、ChefDK内蔵のruby/gemのエコシステム内にknife-soloをインストールしてくれます。すばらしい!
knife solo prepareは使う必要ないかも
よくリモート先のサーバにChefを入れるのにknife solo prepareする例が紹介されますが、そんなラッパーをかませるより上の手順で直接インストールしてしまった方が単純でトラブルも起こりにくいと思います。(もちろんケースバイケースだとは思いますが)
私はChefDKの簡単さに感動して、 knife solo prepareは使わないで済まそうと心に決めました。