Content-Length: 323244 | pFad | http://b.hatena.ne.jp/hirose31/chef/
chefのmetadata.rbには、そのcookbookに関する様々な情報を書いておくことができます。 attributeの情報 提供するrecipe, resourcesのリスト サポートするplatform cookbook間の依存関係 その他: http://docs.opscode.com/essentials_cookbook_metadata.html 実際community cookbookのcookbookを見てみると、metadata.rbに色々書いてあるのもあります。 例: https://github.com/opscode-cookbooks/mysql/blob/master/metadata.rb この情報を使うと色々な便利なことができるような気がします。 chefと外部システムの連携、自動テストとか、cookbook viewerとかeditorとか? 以下
ChefのAttributesで悩んだことがあったのでメモ。結論から言うと、AttributeファイルではできなくてRecipe内で定義するしかなさそう。 説明のために、Chefで構築するソフトウェアが以下のディレクトリ構造であるとする。 /opt +-sample ・・・インストール先のベースディレクトリ +-bin +-data ・・・仮想のソフトウェアのデータディレクトリ +-logs ・・・仮想のソフトウェアのログ出力ディレクトリ このソフトウェアのインストール先、データディレクトリ、ログ出力先をAttributesでパラメタ化する。Attributeを素直に書くとこうなる。 sample/attributes/default.rb default[:sample][:base_dir] = "/opt/sample" default[:sample][:data_dir] = "
This was written by Joshua Timberman. In this post, we will discuss a number of features that can be used in managing systems with Chef, but may be overlooked by some users. We'll also look at some features that are not so commonly used, and may prove helpful. Here's a table of contents: Resources are first class citizens In-place file editing File Checksum comparisons Version matching Encrypting
子供が生まれたり、職場では人事改革が行われたり、@oranieさんがスマートフォンアプリエンジニアになったりと、生活が激変しつつある今日この頃みなさまいかがお過ごしでしょうか。 はい、乙カレー様です。くわのです。 職場ではずっとchef-server 1本で来ていたわけなのですが、ちょっと前からchef solo+Berkshelfを使い始めたりしている私達がいます。 きっとみなさんchef-serverとか強がりやがってやっと素直になりやがったなと思っていることでしょう。 (Chef-serverも使い方で便利ですよ) ドキュメント読んだらいいのかと思ったりもするんだけどBerkshelfのドキュメントがあんま綺麗じゃなくて困るというw ちゅーことで、ざっくり使い方を整理しました。あ、Berkshelfのバージョンは3です。 Berkshelf BerkshelfはCookbookの依存
この記事は最終更新から1年以上経過しています。 気をつけてね。 Chefのクライアント(ChefSolo/ChefClient)を実行して、締めの処理をなにかしら行いたい。 詳細はこちら。 Chef Docs: About Exception and Report Handlers 2つのハンドラ exception handler: 例外発生がトリガ report handler: 正常終了がトリガ Chef_runの実行結果によって、このどちらか一方のみトリガされます。 同じ物を指定するのも構いません。 ハンドラ仕様 ハンドラについてはこんな感じです。 Chef::Handlerを継承したクラス reportメソッドを持つ run_statusを持っているので中身を適当に処理 トリガ原因がexceptionでもreportでも、reportメソッドが実行されます。 サンプルハンドラ で
類似のソフトウェアとして、Puppet や Ansible といったものもあります。こういったインフラ自動化まわりのソフトウェアについてはペパボの宮下さんの インフラ系技術の流れ が参考になります。 Chef in グリー さて、グリーでのChefまわりの構成をご紹介します。下図が全体の構成です。 開発環境 開発は各個人のマシン上で仮想マシンを立ち上げて行なっています。クックブックの開発では、クックブックを開発する人が serverspec でテストを書くようにしていて、構築後のサーバが期待通り動くことをテストしています。一つのクックブックでも設定値などの条件によって動作が変わってくるため、test-kitchen を用いて複数の条件(ランリストやノードのアトリビュート(以下、「アトリビュート」)などの組み合わせ)でテストを行っています。 また、一部仮想マシンを使う必要がないテスト(att
どもです。インフラ池田(@mikeda)です。 今日は『NaviPlusではどういうふうにサーバ構築作業をしているのか』について話します。 ※編集長注:以下は記事執筆時点のものです。将来的に弊社がこの手順を使用することを保証するものではありません。 まずNaviPlusでは今のところクラウドは利用していないので、 サーバ構築は基本的に以下のどっちかになります。 物理サーバ KVMのゲスト OSはCentOSの6系です。 作業は以下の技術を使って自動化しています。 PXE Boot + kickstart chef-solo それではさっそく、ザックリとした実際の構築手順から。 構築手順 物理サーバとVMに分けて説明します。 事前にローカルDNSの登録と、chefのnode定義の作成だけやっておきます。 物理サーバ まずは物理サーバの構築手順です。 以下の作業は並列実行可能、 またiLO/i
Cookbookの共通化(library) 前回エントリではrecipeとdefinitionを用いたCookbookの共通化の手順を紹介しました。 今回はChefのもうひとつの共通化の仕組みであるlibraryを紹介します。 libraryって libraryはRubyコードを用いて、Chefに新しいクラスやメソッドを追加することができる仕組みです。 libraryはクックブック内のlibraries/library_name.rbに定義することで自動で読み込まれ、recipes, attributes, file, definitions, providers, definitionsで利用することができます。 libraryの用途は以下の様なものがあります。 ファイルに格納されている属性値へのアクセス ループのようなプログラムテクニックの利用 Chefのレシピから直接呼び出せるような
実践LWRP、HTTP認証用ファイル(htpasswd,htdigest)をChefのリソースとして管理する part.1 of 3Rubycheflwrp この記事は最終更新から1年以上経過しています。 気をつけてね。 実践Opscode Chefシリーズ。 LWRPを使うと任意のリソースをプリセットのChefリソース群と同じようにレシピに記述することができます。 それにより、他のリソースと同じようにChefによる収束管理がしやすくなります。つまりは冪等性・バックアップ・ログ出力、そしてWhy-Runに対応できると。 最初に補足しておくと、何でもかんでもChefでやれば良いというものではありません、ただ使うならChefらしく。そうでなければSSHでコマンド叩いて来たほうがよほど手堅く安全です。 記事中のCookbookとChefSolo設定一式はこちらに公開しています。 https://
I'm trying to write a wrapper cookbook for the chef graphite repo In the recipe carbon.rb, the following lines occur: template "#{node['graphite']['base_dir']}/conf/storage-schemas.conf" do owner node['apache']['user'] group node['apache']['group'] end where in templates/default/storage-schemas.conf there is a storage-schemas.conf file that is not to my liking. I can edit the file inline and achie
ちょっと前にリリースされた Berkshelf 3から、Berkshelf APIというインデックスサーバーからクックブックの情報を得るようになりました。 https://github.com/berkshelf/berkshelf/wiki/2.x-to-3.0-Upgrade-Guide https://github.com/berkshelf/berkshelf-api Berkshelf APIを使うと、外部に公開していないクックブックをBerksfileで指定する際の記述が簡潔になります。 まだ日が浅いせいか、Berkshelf API + github:e の情報が少ないので、備忘録も兼ねて残しておきます。 環境は以下のとおりです。 berkshelf (3.1.3) berkshelf-api (2.0.0) Berkshelf APIが必要な理由 Berksfile で c
The new Supermarket site became the official community site on Monday, July 7th, 2014 at 12:15 PM PDT. Shortly after the cutover we were made aware that the change broke compatibility with Berkshelf v2.x. This interrupted people’s ability to get work done and we are sorry. Even though Berkshelf v2.x is considered deprecated by its authors, we took this outage as seriously as any other. In this pos
今年3月に入門Chef Soloを書いた時点では、Chef Solo は Environments の機能をサポートしてなかったため解説は省略しました。 その後、Chef はバージョン 11.6.0 (現在は 11.8.2) で Chef Solo での Environments をサポートし、入門Chef Solo で推薦している knife-solo も 10月末にリリースされた 0.4.0 から Environments をサポートしました。というわけで、現状 Chef と knife-solo が最新版であれば Environments を利用することができます。 たまたま今手をつけている仕事で Environments のことを調べたので備忘録的に記しておきます。 Environments とは Chef の Environments は、例えば development や pr
pfcasualで仕入れたネタをもとに、Chef環境を刷新したので、忘れないうちにメモしておく。 そもそもの問題意識は、 現状のcookbookにテストが全くないこと テストの欠落が原因でcookbookの変更に対して億劫になってしまっていること Chefの理解・テストの欠落・煩雑な手順によりThe Lone Wolf Chefになってしまっていること を解決したかった。 方針としてはChefConf 2013: Beginner Chef Antipatternsを参考にすることにした。 いわゆるchef-repo *1はやめてcookbookごとにリポジトリを分ける 分けたリポジトリの依存関係はBerkshelfで解決 ローカルではVagrant + vagrant-berkshelfを使って確認 minitest-handlerでテストを書く Chefは最新の11にする 各人のwor
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
Fetched URL: http://b.hatena.ne.jp/hirose31/chef/
Alternative Proxies: