IT井戸端会議

IT井戸端会議

インフラ、ネットワーク、アプリケーション開発、IT界隈の話等々を東京都千代田区界隈から発信します。

AmazonLinuxでChefSoloを試す(1)

今回は、AmazonLinuxにChefSoloを導入する手順を紹介します。 入門編なのでまずはHello World!するところまでになります。

インストールと初期設定

ChefSoloのインストールに際しては、 chef開発元のopscode社のホームページに導入用スクリプトが公開されてるので それを利用していくのが簡単です。

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


インストール完了後、以下のコマンドにてChefSoloのバージョンが 出力されることを確認して下さい。

chef-solo -v

CookbookとRecipeの作成

さっそくcookbookを作ってみましょう!

sudo knife cookbook create hello -o /var/chef/cookbooks


knifeコマンドの実行が完了すると、/var/chef/cookbooks配下に helloディレクトリが生成されます。 生成されたChefの基本設定ファイルsoro.rbに cookbookのパスを追記します。

sudo vi /var/chef/soro.rb

追記内容:

# solo.rb
file_cache_path "/tmp/chef-solo"
cookbook_path   ["/var/chef/cookbooks"]


次に、レシピの編集に入ります。 以下のファイルの文末に、「 log "Hello World!" 」と追記して下さい。

sudo vi /var/chef/cookbooks/hello/recipes/default.rb
#
# Cookbook Name:: hello
# Recipe:: default
#
# Copyright 2015, YOUR_COMPANY_NAME
#
# All rights reserved - Do Not Redistribute
#
log "Hello World!"


Cookbookの実行

最後に、chef-soloコマンドにてクックブックHelloを実行します。

sudo chef-solo -o hello


以下のように出力されれば実行成功です。

[2015-06-24T13:55:21+00:00] WARN: Overridden Run List: [recipe[hello]]
Compiling Cookbooks...
Converging 1 resources
Recipe: hello::default
  * log[Hello World!] action write


Running handlers:
Running handlers complete
Chef Client finished, 1/1 resources updated in 0.799540117 seconds