![Chef Soloの正しい始め方 | tsuchikazu blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/870919074ae9029d4f3be8cdb02585eb47f0041d/height=288;version=1;width=512/https%3A%2F%2Ftsuchikazu.net%2Fog-images%2Fchef_solo_start.png)
tily/chef-serverspec-handler · GitHub 『Chef のレシピは「こうあるべき」を記述するものだから、レシピからテストが自動生成できるべきだよな』とずっと思っていたんだけど、最近触りはじめた serverspec がシンプルで簡単に自動生成できそうなのでやってみた。 使い方は上記リンクに書いてある通りなのですが、たとえば Chef のレシピにこう書いてあるやつを、 template '/var/tmp/template.txt' do source 'template.txt.erb' mode 0777 owner 'root' group 'root' variables(:val1 => 'val1', :val2 => 'val2', :val3 => 'val3') action :create end このような serverspec のテスト
遺伝的アルゴリズム(GA)でサーバの自動チューニングをします。 GAを機械学習を一つと書いてしまいましたが違うようなのでタイトルを変更させて頂きました。 遺伝的アルゴリズムについては↓の動画が分かりやすいです http://www.youtube.com/watch?v=yZJ1V-zv_gU まずは通常の負荷テストができるところまで準備する必要があります。攻撃用のサーバをターゲットと(ネットワーク的に)近い場所に用意してください。負荷を掛ける側(Attacker)にも相応のスペックは必要です。 ストレスツールはコマンドラインから利用出来るものでしたらなんでもかまいません。ab(Apache Bench)などは最初から入っているので手軽ですが、今回は「グリーン破壊」というソフトを利用しました(グリーン破壊のインストール方法は本家サイトに譲ります) 自動チューニングを行うにあたり、ターゲット
実は設定ファイルの中で配列で指定できた。 file_cache_path "/var/chef-solo" cookbook_path ["/var/chef-solo/cookbooks", "/var/chef-solo/site-cookbooks"] cookbooksの方には汎用的に使えるCookbookを入れて、site-cookbooksの方にはそのサイト固有の設定を含んだCookbookを入れる。 それぞれ別のリポジトリで管理すれば収まりがいい。 自分の場合Chefでひとつの大規模インフラを管理する、というよりは中小規模のインフラをたくさん作るという使い方をしているので、各インフラごとの固有の設定をどう管理するかというのはちょっと課題だったのだけど、これですっきりできそうだ。 汎用的に使えるようになっているCookbookにサイトごとの固有の設定を含めるとか気持ち悪いしね。
開発メモその4です。 開発メモ#2 : AWS でのホスト / クラウドネイティブなデプロイ - naoyaのはてなダイアリー で、システム構成の変更時に EC2のスナップショットからインスタンスを複製して Elastic IP で切り替えているという話をしました。 ただ、この方法はそのままでは一点問題があります。スナップショットを取ったタイミングと現時点でシステム構成に差分があった場合にどうするか、です。例えば nginx の設定をほんの少しだけ書き換えたい、とかその都度スナップショットを取っていては流石に面倒。 その手のスナップショット時点からの差分を複製されたインスタンスに簡単に適用するために、基本的なサーバー設定周りは chef-solo で管理してます。chef はサーバー構築自動化ツールで、chef-solo は chef のクライアント・サーバーを必要としないライト版、とでも
Puppet や Chef で構築したサーバを RSpec でテストする で書いた仕組みを使いやすくするために serverspec という名前で gem 化してみた。 rubygems.org にも登録してあるので、gem install でインストールできる。 $ gem install serverspec インストールしたら、適当なディレクトリで serverspec-init を実行。すると、雛形となるディレクトリやファイルを生成する。 $ serverspec-init + spec/ + spec/www.example.jp/ + spec/www.example.jp/httpd_spec.rb + spec/spec_helper.rb + Rakefile spec/www.example.jp/httpd_spec.rb がサンプルテストコードで、こんな感じになって
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く