連載
» 2015年02月10日 21時00分 公開

サーバー管理者のためのChef超入門(1):エンタープライズでもInfrastructure as Code――Chef 12/Chef-Zero/Knife-Zeroの基礎知識とインストール (2/2)

[大喜多利哉,@IT]
前のページへ 1|2       

Chef-ZeroをKnife-Zero経由で利用するCookbook開発環境の構築

 本連載では、Chef-ZeroをKnife-Zero経由で利用することを前提として進めていきます。今回は環境の構築について解説します。

 恐らく多くの企業ではWindows PCが社用クライアントとして支給されているでしょうから、今回はWindows PC上で開発とテストができるよう、以下図のような環境を構築します。

事前準備

 まず、任意のフォルダーで下記コマンドを実行します。

$ mkdir chef-repo
$ cd chef-repo
$ rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ yum groupinstall "Development Tools"
$ yum install openssl-devel libffi-devel tcl-devel tk-devel libxml2-devel
$ yum install --enablerepo=epel libyaml-devel

rvmのインストール

 rvm(Ruby Version Manager)は、Rubyをバージョンごとに別々のパスにインストールし、簡単に切り替えられる仕組みです。後述するGemインストール時に要求されるRubyのバージョンが2.0.0であるため、今回は2.0.0のインストールをするためにrvmを用います。

#  sudo gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
# curl -L https://get.rvm.io | sudo bash -s stable

 インストールによりパスの設定が追加されているので、シェルを再度起動します。

# bash

 以下のように表示されればrvmのインストールは完了です。

# rvm -v
rvm 1.26.7 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

rvmによるRubyのインストール

 rvmを使用してRuby2.0.0をインストールします。

# rvm install 2.0.0
# ruby -v

Rubyのパスを通す

 Rubyを一般ユーザーで使用できるように、rootの環境変数の内容を確認します。

# echo $PATH

 上記コマンドで表示された「$PATH」の内容を、「/home/{一般ユーザーのusername}/.bash_profile」の中に「PATH=$PATH:〜」の形式で追記し、シェルを再起動します。追記および再起動は一般ユーザーで実行します。

Chefのインストール

 ChefをインストールするためのGemfileを作成します。Gemfileの作り方については知りたい方は、記事「Rubyで逆ポーランド変換機を作りgem作成&コマンドの使い方」を参照してください。

$ cd ~/chef-repo
$ bundle init

 生成されたGemfileに以下の通り追記します。

source "https://rubygems.org"
gem 'chef'
gem 'knife-zero'
gem 'berkshelf'

 Gemfileに基づいてGemをインストールします。

$ sudo bundle install

 Chef Clientを常にローカルモードで実行するために、「.chef/knife.rb」ファイルを作成しておきます。

$ mkdir .chef
$ echo 'local_mode true' > .chef/knife.rb

 以上でCookBook開発環境の構築は完了です。

次回以降は実際にCookbookを作成・管理

 次回以降は実際にCookbookを作成していきます。併せてCookbookの管理についても解説します。

著者プロフィール

大喜多 利哉(おおきた としや)

1978年生まれ、神奈川県横須賀市出身。メーカー系システムインテグレーター、ISP、商社系ネットワークインテグレーターで、インフラエンジニアとしてプリセールスからITインフラ設計/構築/運用と、上流工程より一貫して携わる。現在はWebシステム開発運用会社でオンプレミス環境からパブリッククラウドへの移行案件を担当している。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。