忍者ブログ

えいりあす

Ubuntu に Chef を導入する

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

Ubuntu に Chef を導入する

Chefの導入に躓きました
最終的な目標はknife solo を使ってrecipeをあれこれできるようになることです。

目次

1.環境構築
1.1chefのインストール
1.2knife soloのインストール
1.3リモートホストへChefをインストール
2.キッチンを作成する
3.新規レシピ作成
3.1クックブックの作成
3.2レシピの作成
3.3実行するリストへの追加
4.knife solo cook


1.環境構築
1.1chefのインストール
$gem install chef
上のコマンドを実行する

1.2knife soloのインストール
Gemfileを作成する

エディタでGemfileを開く。
source 'https://rubygems.org'
gem 'knife-solo',
    :github => 'matschaffer/knife-solo',
    :branch => 'master',
    :submodules => true
と記述

その後、$bundle install --path vendor/bundle を実行
するとknife soloがインストールされる

次にknifeの初期設定を行う必要がある。
$bundle exec knife configure


1.3リモートホストへChefをインストール
knife solo したいリモートホストへ
$bundle exec knife solo prepare [リモートホスト名]
するとリモートホストにChefがインストールされる

2.キッチンを作成する
$bundle exec knife solo init [repo]
上のコマンドでキッチン(リポジトリ)が作成される
$cd [repo]

3.新規レシピ作成
3.1クックブックの作成
2.で作成した[repo]/site-cookbooks配下に、クックブックを作成する。
$bundle exec knife cookbook create [クックブック名] -o site-cookbooks

例. $bundle exec knife cookbook create base -o site-cookbooks
3.2レシピの作成
レシピを以下のように作成する。 [repo]/site-cookbooks/base/recipes/default.rb
package 'httpd' do
  action :install
end
service 'httpd' do
  action :start
end

3.3実行するリストへの追加
recipeを書いたら、[repo]/nodesのjsonファイルのrecipeリストへ、
新しく追加したrecipeを加える必要がある
例. [repo]/nodes/[ローカルホスト名].json
{
  "run_list": [
      "base"
  ]
}

4.knife solo cook
run_listに追加したらいよいよcook
[repo]の配下で$bundle exec knife solo cook [リモートホスト名]
これでrecipeに書かれた内容が実行される

例に上げたレシピの場合だと、
リモートホストにapacheがインストールされ、起動する。

参考にさせて貰ったサイト様(敬称略)

拍手[0回]

コメント

プロフィール

HN:
忘れ傘
性別:
男性
自己紹介:
Linux初心者
知識が浅すぎるので勉強中
あっぷろーだ:wasuregasa
ついったー:@__TIMESTAMP__

P R

最新コメント

[03/27 NONAME]
[03/26 ぽん]
[03/26 ぽん]
[03/17 ぽん]
[03/05 通りすがりのR]