Carpe Diem

  Top > スポンサー広告> Chef > Chefを使ってみる  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Chefを使ってみる

2013 - 09/26 [Thu] - 09:14

Chefは環境構築の自動化ツールです。
Chefサーバーさえ作っておけば以下のメリットがあります。

①欲しい環境(apache, MySQLなどなど)を自動で一気に導入できる。
②設定ファイルもあらかじめ設定して置ける。インストールした時点で設定済みになる。
③既に多くのcookbookがあるので、自分で環境(apache, MySQLなど)のスクリプトを書く必要がない。


基本的に③のスクリプトをgitで落とし、②の通りに設定ファイルをいじり、①の通りに新しい環境導入で一気に構築する、という流れです。
初期コストはかかりますが、一度Chefサーバーを立ててしまえばあとはコマンド一発で全て設定済みの環境を導入できるので

・複数のサーバーに環境構築したい
・環境構築のバックアップがほしい


という場合に大きなメリットがあります。


◆Chefのインストール

sudo true && curl -L https://www.opscode.com/chef/install.sh | sudo bash

でOK。簡単です。
普通の実装ではわざわざrubyやgemをインストールする必要がありますが、こちらは必要ないです。


◆cookbooksディレクトリの作成
cookbooksディレクトリの作成
git からリポジトリを落とします。

# cd /
# git clone git://github.com/opscode/chef-repo.git

設定ファイルを作成します。

# mkdir /etc/chef
# emacs /etc/chef/solo.rb

solo.rb
file_cache_path "/tmp/chef-solo"
cookbook_path ["/chef-repo/cookbooks"]
role_path "/chef-repo/roles"
log_level :debug


この chef-repo/cookbooks フォルダでスクリプトを使用していきます。


◆Chef-soloを使ってRedisをインストールしてみる
apacheやMySQLはすでに導入していたので、入れていないRedisで試してみました。

作業フォルダへ移動

# cd /chef-repo/cookbooks
# git clone git://github.com/brianbianco/redisio.git


依存関係のulimitを落とします。
依存関係は redisio/metadata.rbdepends に書いてあります。

# git clone git://github.com/bmhatfield/chef-ulimit.git

metadata.rb の通りに名前を変えておきます。

# mv chef-ulimit ulimit

インストール用JSONスクリプトを書きます。

# emacs -nw redisio.json

redisio.json
{
"run_list": [
"recipe[redisio::install]",
"recipe[redisio::enable]"
]
}


実行します。

# chef-solo -j redisio.json


# redis-cli

とすると実行できると思います。
設定ファイルは /etc/redis/6379.conf です。

もし設定ファイルをあらかじめ編集しておきたい場合は
redisio/templates/default/redis.conf.erb

を編集してください。多くのcookbook が templates/default に設定ファイルの元があります。

以上です。


ソース:
超簡単chefのインストール方法【Omnibus(オムニバス)】
Opscodeで公開されているいろんなcookbooksを試してみた
chef-soloの超初心者演習をさらす
chef-solo使おうの巻

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。