Skip to content

Droongaノードのセットアップ手順

YUKI "Piro" Hiroshi edited this page Apr 8, 2014 · 25 revisions

セットアップ時に決める事

catalog.jsonに含まれない以下のパラメータが必要である。

  • ユーザ名
    • セットアップするDroonga専用のユーザを作成するため必要。
    • ユーザ名は無指定なら droonga とする。指定があるならそちらを使う。(複数バージョン共存のため)
    • ~(username)/ 以下に各種ソフトウェアをセットアップする。
    • ログは /var/log/(username) のパスにも使う。
  • fluent-plugin-droongaのバージョン
    • ~(username)/engine/ 以下にセットアップする。
    • rubyのバージョンは、指定がなければその時点の最新安定版とする。
  • express-droongaのバージョン
    • nodeのバージョンは、指定がなければその時点の最新安定版とする。

自動化の指針

  • Chef cookbookで、上記の事を決められる(変えられる)ようにする。
  • カスタマイズ済みのChef cookbook(レシピ?)を生成するジェネレータを作るようにする。
  • プロジェクト固有のカスタマイズは、生成されたChef cookbook(レシピ?)を書き換える事で行うことにする。

実際に行った手順

あらかじめ、実験環境(仮想環境)の構築に従って、構築対象のノードにあたる仮想環境を用意しておく。

また、https://manage.opscode.com/ にアカウントを作成し、秘密鍵を ~/.chef/(username).pem に保存して chmod 600 ~/.chef/(username).pem しておく。 ~/.chef/knife.rb には以下のよう設定しておく。

client_key               '/home/(username)/.chef/(username).pem'
cookbook_path            ['./cookbooks']

プロジェクト用のchef cookbooksを作る。

% knife solo init chef-repo
% cd chef-repo
% git init
% git add .
% git commit -m "initial commit"

実験環境にchef soloをインストールし、ノードとして扱えるようにする。

% NODE_HOSTNAME=ubuntu13.10
% knife solo prepare $NODE_HOSTNAME
% git add nodes
% git commit -m "add node"