LoginSignup
4
4

More than 5 years have passed since last update.

Chef Getting Started メモ(レシピの作成~ Chef サーバへのアップロードまで)

Last updated at Posted at 2013-10-28

Chef Getting Started メモ

メモと言いつつドキュメントの要約になってしまった.(最近、このパターンが多い)
https://learnchef.opscode.com/quickstart/workstation-setup/

スターターキットに含まれるリポジトリを解凍する

% unzip chef-starter.zip
% cd chef-repo

資格が正しいことを確認する

% knife client list
itomaki-validator

chef リポジトリをセットアップする

% git init .
% git add .
% git commit -m "Initial commit"
[master (root-commit) b9ae7e8] Initial commit
 13 files changed, 361 insertions(+), 0 deletions(-)
 create mode 100644 .berkshelf/config.json
 create mode 100644 .chef/knife.rb
 create mode 100644 .gitignore
 create mode 100644 Berksfile
 create mode 100644 README.md
 create mode 100644 Vagrantfile
 create mode 100644 chefignore
 create mode 100644 cookbooks/starter/attributes/default.rb
 create mode 100644 cookbooks/starter/files/default/sample.txt
 create mode 100644 cookbooks/starter/metadata.rb
 create mode 100644 cookbooks/starter/recipes/default.rb
 create mode 100644 cookbooks/starter/templates/default/sample.erb
 create mode 100644 roles/starter.rb

コミュニティの apt apache2 cookbook を knife コマンドを用いてダウンロードする.

knife cookbook site install apt
knife cookbook site install apache2

ダウンロードした cookbook を表示する

% ls cookbooks
apache2  apt  starter

Create a Simple Cookbook

さっきの例では、コミュニティサイトの力を借りて cookbook を作成した.
node へ設定をブートする前に cookbook の書き方を見ていく.

今回の例で作成するのはごく簡単な cookbook である.
この cookbook では, alias と環境変数を設定する.

まずはコミュニティサイトから magic_shell をインストールする.

knife cookbook site install magic_shell

magic_shell はコマンド alias を設定するためのユーティリティ??

新しい cookbook を作成する.

knife cookbook create aliases

knife cookbook create コマンドは, 新しい cookbook の雛形を作成する.
すると, cookbooks ディレクトリに新しいディレクトリが作成されている.

% ls cookbooks
aliases  apache2  apt  magic_shell  starter

metadata.rb に magic_shell への依存関係を定義する.

name             'aliases'
maintainer       'YOUR_COMPANY_NAME'
maintainer_email 'YOUR_EMAIL'
license          'All rights reserved'
description      'Installs/Configures aliases'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version          '0.1.0'
depends          'magic_shell'

レシピを書く cookbooks/aliases/recipes/default.rb

# Alias `h` to go home
magic_shell_alias 'h' do
  command 'cd ~'
end

# Alias `sites` to cd into apache
magic_shell_alias 'sites' do
  command "cd #{node['apache']['dir']}/sites-enabled"
end

# Set Nano as the default editor
magic_shell_environment 'EDITOR' do
  value 'nano'
end

これらの設定をノードへダウンロードするためには, エンタープライズ Chef サーバへ Cookbook をアップロードしなければならない.

% knife cookbook upload --all
Uploading aliases        [0.1.0]
Uploading apache2        [1.8.4]
Uploading apt            [2.3.0]
Uploading magic_shell    [0.3.2]
Uploading starter        [1.0.0]
Uploaded all cookbooks.
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4