Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

Chef

概要

Chefについて。

Chefは環境構築の自動化ツールです。
サーバー構築を素早く行い、素早く保守できるようになり
多くの時間・コストを節約出来ます。

詳細

準備
項目 内容
Windows7環境にChef、Knife Soloのインストール http://d.hatena.ne.jp/tbpg/20131021/1382368005
Windows7環境にgem版のChefをインストール http://d.hatena.ne.jp/tbpg/20131023/1382541454
基礎概念
項目 内容
Chefの特徴と構成 http://d.hatena.ne.jp/tbpg/20131030/1383146528
冪等性(べきとうせい) idempotence http://d.hatena.ne.jp/tbpg/20131129/1385756471
1つのcookbookで複数のrecipeを作成する場合 http://d.hatena.ne.jp/tbpg/20131205/1386249285
基礎構成
項目 内容
run_list http://d.hatena.ne.jp/tbpg/20131205/1386248993
ohai http://d.hatena.ne.jp/tbpg/20131203/1386079553
libraryでChefのロジックを再利用 http://d.hatena.ne.jp/tbpg/20131106/1383742674
data bagで各cookbookに依存しない変数を作成 http://d.hatena.ne.jp/tbpg/20131031/1383232109
Notificationで他のリソースに対して任意のアクションをトリガーする http://d.hatena.ne.jp/tbpg/20131204/1386168177
Subscribeで他のリソースをトリガーに任意のアクションを実行する http://d.hatena.ne.jp/tbpg/20131204/1386168314
Definitionの利用により独自定義のresourceを作成する http://d.hatena.ne.jp/tbpg/20131206/1386342802
Attributeの利用により属性の値を動的に設定する http://d.hatena.ne.jp/tbpg/20131209/1386593699
Data Bag http://d.hatena.ne.jp/tbpg/20131210/1386674406
Role http://d.hatena.ne.jp/tbpg/20131210/1386674436
Resources
コマンド 項目 内容
bash bashbashコマンドの実行 http://d.hatena.ne.jp/tbpg/20131106/1383742568
cookbook_file ファイルを配置 http://d.hatena.ne.jp/tbpg/20131031/1383231038
directory ディレクトリの操作 http://d.hatena.ne.jp/tbpg/20131105/1383663450
execute 任意のスクリプトをroot権限で実行 http://d.hatena.ne.jp/tbpg/20131204/1386168664
file ファイルの操作 http://d.hatena.ne.jp/tbpg/20131105/1383663609
gem_package gemのインストール http://d.hatena.ne.jp/tbpg/20131203/1386079393
git gitリポジトリの操作 http://d.hatena.ne.jp/tbpg/20131106/1383742475
group User,Groupの作成 http://d.hatena.ne.jp/tbpg/20131204/1386168759
link リンクの作成 http://d.hatena.ne.jp/tbpg/20131107/1383835166
package packageのインストール http://d.hatena.ne.jp/tbpg/20131203/1386078857
ruby rubyで任意のスクリプトを実行 http://d.hatena.ne.jp/tbpg/20131205/1386249155
service サービスの操作 http://d.hatena.ne.jp/tbpg/20131105/1383663730
template テンプレートの操作 http://d.hatena.ne.jp/tbpg/20131202/1385994619
user User,Groupの作成 http://d.hatena.ne.jp/tbpg/20131204/1386168759
Cookbook
項目 内容
cookbook作成のワークフロー http://d.hatena.ne.jp/tbpg/20131101/1383317410
自作CookbookをGitHubに公開し、berkshelfで再利用する http://d.hatena.ne.jp/tbpg/20131031/1383243795
timezoneの設定用cookbookの作成 http://d.hatena.ne.jp/tbpg/20131106/1383742285
jenkins-tomcat Cookbookの作成 http://d.hatena.ne.jp/tbpg/20131106/1383750635
jenkins-tomcat update(ver1.509.4) Cookbookの作成 http://d.hatena.ne.jp/tbpg/20131106/1383751877
Rbenv+Ruby2.0.0-p247+Bundler環境の作成 http://d.hatena.ne.jp/tbpg/20131106/1383755314
RiotGamesのrbenv cookbookを利用する際に、自分が所属しているネットワークでgitプロトコルが使えない場合 http://d.hatena.ne.jp/tbpg/20131107/1383835056
mysql向けcookbookの作成 http://d.hatena.ne.jp/tbpg/20131107/1383835321
sqlite向けcookbookの作成 http://d.hatena.ne.jp/tbpg/20131107/1383835486
sudo権限付与用のcookbookの作成 http://d.hatena.ne.jp/tbpg/20131108/1383923900
opscodeのphantomjs cookbookを利用してphantomjsをインストール + シンボリックリンクを作成 http://d.hatena.ne.jp/tbpg/20131108/1383924116
Ubuntu1204環境のdesktopのインストールをするcookbook http://d.hatena.ne.jp/tbpg/20131111/1384183424
vagrant向けcookbookの作成 http://d.hatena.ne.jp/tbpg/20131114/1384442302
virtualbox向けcookbookの作成 http://d.hatena.ne.jp/tbpg/20131114/1384442438
Knife
コマンド 項目 内容
cookbook create クックブックのテンプレート作成 使用例:knife cookbook create cookbook_name -o site-cookbooks/
Knife Solo
コマンド 項目 内容
init Kitchenのテンプレートを生成 http://d.hatena.ne.jp/tbpg/20131022/1382455609
prepare Knife solo prepareでターゲットサーバーにChef Soloをインストール http://d.hatena.ne.jp/tbpg/20131022/1382455800
bootstrap Knife solo bootstrapでターゲットサーバーにChef SoloをインストールしてCookbookを実行 http://d.hatena.ne.jp/tbpg/20131022/1382455857
cook Knife solo cookでターゲットサーバーでChefのCookbookを実行 http://d.hatena.ne.jp/tbpg/20131023/1382538589
その他
項目 内容
execute と script と bashの違いを知るためにオープンソースのコードリーディングをする http://d.hatena.ne.jp/tbpg/20131205/1386249644
参照
項目 URL
Chef公式サイト http://www.opscode.com/chef/