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(レシピ?)を書き換える事で行うことにする。

実際に行った手順

仮想マシンのホストとなる環境のセットアップ

% sudo gem1.9.1 install chef knife-solo

実験環境としての仮想マシンのセットアップ(vagrant使用、Ubuntu 13.10)

% vagrant box add ubuntu13.10 http://cloud-images.ubuntu.com/vagrant/saucy/current/saucy-server-cloudimg-amd64-vagrant-disk1.box
% mkdir testserver
% cd testserver
% vagrant init ubuntu13.10

設定を書き換えて、固定IPで接続できるようにする。

% ip=192.168.1.54
% net=wlan0
% mv Vagrantfile Vagrantfile.bak
% cat Vagrantfile.bak | \
  sed -r -e "s/(^ *)# *(config.vm.network *:bridged)/\1\2, :ip => \"${ip}\", :bridge => \"${net}\"/" \
  > Vagrantfile
% vagrant ssh-config --host ubuntu13.10 | \
  sed -r -e "s/2222/22/" \ 
         -e "s/127.0.0.1/${ip}/" \
  >> ~/.ssh/config

設定ができたか確認する。

% vagrant ssh
% exit
% ssh vagrant@${ip} -p 22 -i ~/.vagrant.d/insecure_private_key ubuntu13.10
% exit
% ssh ubuntu13.10
% exit

chef soloを実験環境にインストールする。

% vagrant up
% knife solo prepare ubuntu13.10