ChefでElasticsearchの構築レシピを書いてみる。


サーバー構築は極力Chefを使うようにしている今日この頃。ElasticSearch & KibanaをChefで自動構築するレシピを書いたので自分用メモ。

インストールする内容は以下の通り。

  • elasticsearch 1.3.2
  • kibana 3.1.0
  • Nginx 1.0.15

インストールするサーバーはCentOS6.4のminmal版。ssh接続できるところまで持っていく必要があり。その後は”knife cook”で全てインストール&設定が完了する。

  • http://ftp.riken.jp/Linux/centos/6/isos/x86_64/CentOS-6.5-x86_64-minimal.iso

このレシピの注意点というか前提。

  • 本来、レシピをいくつかに分けたり、Attributesに利用したりするべきだが、一つのレシビにまとめて書いている。
  • ネットワークに制限があるサーバーへのインストールを想定しているため、パッケージ等はクックブックに内包し、なるべくネットワークを介さないようにしてある。(冪等性という観点からもそのほうが動作が安定するので・・)
  • インストールするサーバーをCentOS-6.5-x86_64-minimalを想定。(ChefではOS間の依存を吸収する仕組みはあるが、業務上、その必要性はほぼないのでCentOSできめ決めつけで記述)

あとは、自分自身もまだまだChef見習い中なので、あくまで参考までに。

Cookbookのフォルダ構成

レシピとテンプレートファイル

cookbooks/elasticsearch/recipes/default.rb

cookbooks/elasticsearch/templates/default/elasticsearch.yml.erb

cookbooks/elasticsearch/templates/default/epel.repo.erb

cookbooks/elasticsearch/templates/default/kibana.conf.erb

実行コマンド例