ちなみに導入するなら初めはServerをマニュアルで入れるのが使っている部品が分かってよい。
迷うCookbookとKnifeのポイント
いきなりTIPSだが、Server使用時はこれを思い出すとよい。多分理解が早い。
server.rbの指定のディレクトリにCookbookを置いたら knife upload をしてServerに登録する。
CreateしたCookbookも同様だ、編集したらuploadしよう。
では気を取り直して。
ChefServerのWEB-UIまで頑張って立てよう
このようなUIにログインできます。今回使うscreenのcookbookはknifeで追加済み。
ノードはこのように追加する
さて、さっきの画面にはノードが居ない。
どうすりゃいいかは、クライアントにしたいサーバでchef-clientを実行すれば分かる。
gemでクライアントを入れたら、設定は1行あればいい、サーバの指定だ。
/etc/chef/client.rb
chef_server_url "http://192.168.30.223:4000"
クライアントサーバで "chef-client " コマンドを実行する。
追記:サーバから証明書をコピーすることも必要。 /etc/chef/validation.pem# chef-client
WARN: HTTP Request Returned 404 Not Found: Cannot load node stub01
INFO: Starting Chef Run (Version 0.9.14)
WARN: Node stub01 has an empty run list.
INFO: Chef Run complete in 0.70594994 seconds
INFO: cleaning the checksum cache
INFO: Running report handlers
INFO: Report handlers complete
Cannot load node stub01 とか言われているね。
このあとサーバのほうを確認してみよう。
ノードが登録されている。
しかもガッツリインベントリされています。
ちょっと余談ですが、ノードのBIOSバージョン、仮想化されたホストか、からパッケージリストやprocの下まで全部収集されてしまうので構成管理(最新の)もいっぺんに可能のようです。
集めた情報で配布対象もそれで絞り込めたりしていい感じ。
例:「チップセットがIntelのサーバだけレシピを適用したい」なども可と。
Recipeによる自動構築の準備
クライアントにレシピを適用したかったら。
ノード情報を編集して、run-listに加えるとよい。
さっき登録されたstub01というサーバに、Chefでは定番のscreenを入れてみます。
Screen用のレシピをrun-listに加えていますね。
GUIからも確認できますし、コマンドラインならknifeでノードの内容を知ることができます。
ちなみにレシピをまとめたかったらロールを使って、それをノードに割り当てしょう。
さて自動構築
といっても簡単で、もう一度クライアントサーバで "chef-client " コマンドを実行するだけです。
今度は?# chef-client
INFO: Starting Chef Run (Version 0.9.14)
INFO: Storing updated cookbooks/screen/recipes/default.rb in the cache.
INFO: Storing updated cookbooks/screen/metadata.json in the cache.
INFO: Storing updated cookbooks/screen/metadata.rb in the cache.
INFO: Installing package[screen] version 4.0.3-14ubuntu4
INFO: Chef Run complete in 4.672135174 seconds
INFO: cleaning the checksum cache
INFO: Running report handlers
INFO: Report handlers complete
なんかレシピ内のファイルを読んでますね。# screen -v
Screen version 4.00.03jw4 (FAU) 2-May-06
ほら入った。
管理画面からは最新の同期状況が確認できます。
Chef、素晴らしいツールだと思いました。
1 件のコメント:
[...] 前回のChefServer紹介で、クライアントがインベントリされるのが分かりました。 [...]
コメントを投稿