【Chef Tips 3】 hostsファイルの設定
hostsファイルを編集する場合、ruby_block+FileEditユーティリティを使用しても良いが、ここでは、環境(Environment)単位でhostsファイルをTemplateで作成する方法を紹介する。
まず、開発環境を"development"、本番環境を"production"とする。そして、開発環境の場合は、"hosts_development.erb"のテンプレートを、本番環境の場合は"hosts_production.erb"のテンプレートを用意する。
template "/etc/hosts" do source "hosts_" + node.chef_environment + ".erb" owner "root" mode "0644" end |
次に、ノードのEnvironmentを設定する。以下は、開発環境として"development"を設定する例。
{ "chef_environment": "development", "run_list": [ "recipe[hoge::fuga]" ], "normal": { "tags": [ ], }, "name": "node01" } |
■ ポイント
- 開発環境、本番環境といった環境毎に同一のhostsファイルを使用する場合にここで紹介した方法が便利。
- 事前にEnvironmentを作成しておく。(Environmentの作成の仕方はまた次回)