Chef-solo の設定

Chef-solo をインストールすると、 chef-solo コマンドが使えるようになります。 ただし、現時点では何も設定していないので、以下のようにエラーが発生して終了します。

_images/chef-first-start.JPG

まずは Chef-solo を動作させるために必要な設定をしましょう。

Chef リポジトリの作成

Chef で使用するファイルは、ソースコードのようにバージョン管理することが推奨されています。 このチュートリアルでは Git でバージョン管理します。

Hint

ディレクトリは任意の場所で構いません。このチュートリアルでは、 C:\chef-repo にリポジトリを作成します。以降は自分のディレクトリに読み替えてください。

GitHub for Windows を起動して、 add ボタンをクリックします。

_images/chef-repo-create-01.JPG

以下のように入力して、 create ボタンをクリックします。

  • リポジトリ名 : chef-repo
  • 説明 : chef-solo repository
  • ディレクトリ : C:\chef-repo (右の ボタンをクリックして、 C:\ を選択します)
_images/chef-repo-create-02.JPG

現時点のディレクトリは以下のようになっているはずです。

_images/chef-repo-create-03.JPG

まだリポジトリを作成しただけでコミットしてないので、コミットしておきましょう。 GitHub for Windows で作成したリポジトリを選択します。

_images/chef-repo-create-04.JPG

最初のコミットなので、コミットメッセージとして Init を入力します。これは好きなメッセージで構いません。

_images/chef-repo-create-05.JPG

リポジトリの作成は以上です。

_images/chef-repo-create-06.JPG

solo.rb

Chef-solo の設定は C:\chef-repo\solo.rb に記述します。 最低限必要なのは file_cache_pathcookbook_path です。 以下のように記述しましょう。

1
2
file_cache_path File.join(Dir.pwd, 'cache')
cookbook_path   File.join(Dir.pwd, 'cookbooks')

以上で Chef-solo の設定は終わりですが、 Windows 向けにもう少し設定を続けましょう。

Windows 用 Resource 有効化

参考リンクにもあるとおり、 Windows にはパッケージマネージャーがありません。それを補う Resource を有効化するため、 opscode が公開している recipe から Cookbook をダウンロードしましょう。

_images/opscode-win-recipe-01.JPG

ダウンロードした ZIP を解凍してできた chef_handlerwindowsC:\chef-repo\cookbooks に移動します。

_images/opscode-win-recipe-02.JPG

次にこの Cookbook / Recipe を使うような設定ファイル win_default.json を作成します。

1
2
3
cd C:\chef-repo
echo >> win_default.json
notepad.exe win_default.json

win_default.json は以下のように記述します。

1
2
3
4
5
{
    "run_list" : [
        "recipe[windows]"
    ]
}

管理者権限でコマンドプロンプトを立上げ、 Chef-solo を実行しましょう。以下 Chef-solo 実行時は同様に管理者権限で実行してください。

1
2
cd C:\chef-repo
chef-solo -c solo.rb -j win_default.json

これで準備完了です。この状態の Chef リポジトリを忘れずにコミットしておきましょう。

次は実際に Recipe を実行してみます。