[ロ] Puppet でわくわく。

このエントリーをはてなブックマークに追加
はてなブックマーク - [ロ] Puppet でわくわく。
Facebook にシェア
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]
[`tweetmeme` not found]

SoftwareDesign 2007/12月号「Puppetでシステム管理を自動化しよう」の記事がすごいいい。
かなり役に立ちました。
すでに動作させるところまではいっていたので、大体は流し読みでOK感じでしたが、
Appendix1「頻出リソースタイプ/パラメータ厳選リファレンス」はまとまっていて、便利っす。
Cent5+DAGリポジトリを使った場合は、Puppet が若干古いので、
ここを利用するとあたらしくていいらしい。
で、気がついたこと。


Puppetを使うときに、時計が狂ってると意図した動作をしてくれない。
マニフェストを更新しても、更新されたと認識してくんない。これに気がつくのに一ヶ月近く・・。
時刻直したらさくさく動くようになってくれてかなり感動っす。
今、RPMのアップデートやソフトのインストール・アンインストールをWeb画面から操作できるツールがほしくて、Puppet改造かなぁと思ってたんだけど、PythonでRPMを操作するライブラリとして、「rpmUtils」があることを発見。
Pythonならこれ使ってコード書けばいけるな、とPythonデビューか?と思ってたら、RubyからRPMを操作するライブラリとして、ruby-rpmがあることを発見。
これは、Rubyでびゅー?PHPでねーかな。PEARあたりを探ればあるかもな。(なさそう・・・。)
クライアントにAgentをいれて、管理Webサーバで一括管理。状態をクライアントのAgentから通知させて、インストール・アンインストール・アップデートの指令を管理Webサーバ経由で指令すれば、あなたの思いのままに何台ものサーバの状態を管理可能!ってことをやりたい。
それ自体はPuppetでも同じことができるが、マニフェストを書かないといけないのが難点なんです。
うちはホスティング業者なので、
・お客様サーバ一つ一つは違う設定に対応したい。
・設定者が少人数なので、毎回viとかで書いてたら時間がいくらあっても足りない!
・お客様にも自由にその設定を変更させてあげたい
という希望があるのです。
今の所の選択肢は、
1. 管理Webアプリを開発し、puppet マニフェストファイルを生成する仕組みを作って、サーバの管理はPuppetで実現
2. 管理Webアプリを開発し、ruby-rpmと戯れながら、Agentを1から開発。
Puppet でどうしてもできない仕組みがある場合には2.を選択して自分で機能を実装していくしかないけど、Puppetでできることなら、Agentの細かいこと考える手間を省けるし、1.を取るのが正しい選択かな。
当分はPuppetと戯れて、実現可能性をさぐっていきまするぅ。

Popular Posts:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*