chef-soloでchef資産の有効活用

chefがある環境に慣れるともうchefから離れられませんが、chefサーバと通信できない環境にある場合などはchefを活用することができません。 「嗚呼、chefが使えたら!」と叫びたくなりますね。 そんなときはchef-soloです。 chef-soloを使えばchefサーバに蓄えたノウハウを使うことができます。 ただ、ch
続きを読む


[chef] knifeでroleで使われているrecipeを検索

chefの運用が始まって、サーバの設定のほとんどをchefでやるようになりましたが、その中で不便なことが出てきました。 recipeを変更してそれをサーバに反映させるときに、「はて?このrecipeはどこで使ってたっけ?」となってしまうのです。 今の環境では能動的にサーバの設定変更をしたいので、
続きを読む


[chef] chefサーバのバックアップ

一通りchefの構築を済ませたので、この辺でchefサーバのバックアップを仕掛けることにしました。 chefも構築を始めるとノウハウの塊になってきて消失するとかなり痛いです。 node,role,data bagのバックアップ node,role,data bagのバックアップはドキュメントに書いてあるchef_server_backup.rbを使うことにし
続きを読む


[chef] data bag活用法

data_bagを使う chefにはdata_bagというものがあります。 attributeとは何が違うのかなーと思っていましたが、良い使い方を見つけましたのでご紹介させていただきます。 ユーザアカウントは全てdata_bagで管理 ユーザアカウント系は全てdata_bagで管理すると楽かも!と思ってやってみました。 例えばロ
続きを読む


[chef]サーバアカウントの管理と公開鍵の登録

最近は、いよいよchefの本格的な運用に向けてrecipeを書く日々が続いています。 その中から一コマをご紹介。 Roleで登録するユーザを分ける chefでサーバのアカウント管理をすることになって、どのようにするのが効率的かを考えました。 登録するアカウントは全てのサーバで同じというわけでは
続きを読む


[chef] clientとnodeの関係

解りづらいclient chefの要素でclientとnodeがあります。 いろいろ調べる中で、このことを解説しているところがあるのですが、自分は以下のように解釈していました。 Node = 管理対象サーバ client = Chef Serverとやり取りするインタフェース この解釈で概ね誤りは無いようなんですが、一つ大きく勘違い
続きを読む


[chef] attributeの理解

今回はattributeの話。 お約束ですが、この記事の内容は私が一人で分かったつもりになって書いていることなので、誤認やウソが書いてありましたらご指摘してくださると助かります。 attributeとは Recipeではできるだけ汎用的に書いた方がいいという雰囲気がありますが、それはその通りだと思い
続きを読む


[Chef] Cookbook,Recipe,Roleの関係

Chef検証再開。 Chefを設計・運用するうえで、どうしても理解しなければいけないのが、CookbookとRecipeとRole`の関係。 とりあえず、それを理解するためにこのスライドを見てみた。 Resouceは設定の最小単位 Resouceは各種設定の最小単位と解釈しました。 ファイルを配置する、ソフトウェアをインス
続きを読む


Chef-Serverを使ってみる(2)

前回は、Recipeの登録と、Roleの登録をしたので、今回はいよいよもう一台サーバを用意して、Recipeの適用をしてみたいと思います。 Nodeの登録 まずはNode登録から。 以下のコマンドでノードを登録します。 ついでにRoleも設定します。 knife node create node01 { "chef_environment": "_default", "normal": { }, "
続きを読む


Chef-Serverを使ってみる(1)

今回は、前回構築したchef-serverを使ってみようと思います。 chef-serverにレシピを登録 まずはchef-serverにレシピを登録してみます。 最初にchef-soloでもやったchef-repoを作ります。 今回は/dataにchef-repoを作ります。 $ sudo su - # mkdir /data/chef # chown chef:chef /data/chef # cd /data/chef # su -c 'git clone git://github.com/opsco
続きを読む