LoginSignup
23
22

More than 5 years have passed since last update.

Chefを使ってみる - 導入編

Last updated at Posted at 2014-12-02

概要

Chef-solo、Knife-soloをインストールして、スタンドアロン構成でクックブックの作成練習。
OS:CentOS6.5 (64bit)

作業のながれ

Ruby/gemインストール
 ↓
Chef-soloインストール
 ↓
Gitインストール
 ↓
レポジトリ設定
 ↓
クックブックなどを準備
 ↓
リモートサーバへデプロイ実施

Ruby/gemインストール

  1. 前提パッケージをインストール
    
    # yum -y install gcc zlib zlib-devel openssl openssl-devel
    
  2. rubyの最新ソースをダウンロードする
    
    # curl -O http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz
    
  3. ソースを展開し、コンパイル
    
    # tar zxvf ruby-2.1.5.tar.gz
    # cd ruby-2.1.5
    # ./configure
    # make
    # make install
    
  4. バージョン確認(実際に実行するユーザで確認)
    
    $ ruby -v
    ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
    
  5. gemをダウンロードする
    
    # curl -O http://production.cf.rubygems.org/rubygems/rubygems-2.4.4.tgz
    
  6. 解凍してセットアップ
    
    # tar zxvf rubygems-2.4.4.tgz
    # cd rubygems-2.4.4
    # ruby setup.rb
    

Chef-soloインストール

  1. Chef-Soloインストール

    
    # curl -L https://www.opscode.com/chef/install.sh | bash
    :
    warning: /tmp/install.sh.1116/chef-11.16.4-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
    Preparing...                ########################################### [100%]
    1:chef                   ########################################### [100%]
    Thank you for installing Chef!
    
  2. cher-soloのバージョン確認

    
    $ chef-solo -v
    Chef: 11.16.4
    
  3. chef Development Kitインストール

    
    # curl -O https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chefdk-0.3.5-1.x86_64.rpm
    # rpm -ivh chefdk-0.3.5-1.x86_64.rpm
    Preparing...                ########################################### [100%]
    1:chefdk                 ########################################### [100%]
    Thank you for installing Chef Development Kit!
    
  4. chef Development Kitバージョン確認(berksがインストールされていることを確認)

    
    $ berks version
    3.2.1
    
  5. knife-soloインストール

    
    # gem install knife-solo
    :
    Done installing documentation for plist, method_source, slop, coderay, pry, rack, libyajl2, ffi, ffi-yajl, hashie, mixlib-log, chef-zero, diff-lcs, erubis, highline, net-ssh, net-ssh-gateway, net-ssh-multi, mime-types, rest-client, wmi-lite, ipaddress, mixlib-shellout, mixlib-config, mixlib-cli, systemu, ohai, mixlib-authentication, chef, knife-solo after 76 seconds
    30 gems installed
    
  6. knife-soloの初期設定

    
    $ knife configure
    

    ~/.chef/knife.rbというknifeの設定ファイルが保存される。
    configure中色々聞かれるが全て無視。

Gitをインストール

  1. Epel設定

    
    # rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
    # sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo
    
  2. gitインストール

    
    # yum installl --enablerepo=epel git
    
  3. GitHUBへ公開鍵を登録

  4. .ssh/configを修正

    
    $ cat ~/.ssh/config
    Host github.com                     <-接続先を指定
    IdentityFile ~/.ssh/hogeho.pem      <-秘密鍵を指定
    

レポジトリ設定

  1. Git初期設定実施

    
    $ git config --global user.name "username"
    $ git config --global user.email "mailadres@hogehoge.com"
    $ git config --global color.ui auto
    
  2. Chef用のディレクトリを作成

    
    $ knife solo init chef-repo
    
  3. ディレクトリへ移動し、コマンド実行

    
    $ cd chef-repo
    $ git init
    Initialized empty Git repository in /workspace/git_repo/myself/.git/
    
  4. READMEファイルを作成し、コミット

    
    $ touch README.md
    $ git add README.md
    $ git commit -m "First Commit"
    
  5. Gitのプロジェクトを指定し、pushする

    
    $ git remote add origin git@github.com:hogehoge/fugafuga.git
    $ git push -u origin master
    
23
22
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
23
22