fbpx

Chef Client Omnibus Installer #opschef_ja

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

Chef Client Omnibus Installerとは

以前のChef Clientのインストール(Installing Chef Client and Chef Solo)は、プラットフォームごとに別々であり、しかも手順がまちまちだったため、大変面倒な印象を与えていました。

Installing Chef Client on Ubuntu or Debian
Opscodeのレポジトリから、Chefをaptでインストールする。
Installing Chef Client on CentOS
非標準レポジトリからrubyパッケージをインストールし、ソースからRubyGemsのビルドし、ChefをRubyGemsでインストールする。
Installing Chef Client on OS X
ruby公式サイトからrubyパッケージをインストールし、ソースからRubyGemsのビルドし、ChefをRubyGemsでインストールする。
Installing Chef Client on Windows
Opscode提供のインストーラでインストールする。
Installing Chef Client on Other Operating Systems
多種多様な方法が一まとめにされている。

現在でInstall Chefに手順が一本化され、簡単にインストールできるようになっています。2013年4月2日現在、

  • Debian GNU/Linux 6 (i386, x86_64)
  • RHEL 5, 6 (i686, x86_64)
  • OS X 10.6, 10.7 (x86_64)
  • SUSE Enterprise Linux 11.2 (x86_64)
  • Solaris 5.9 (sparc)
  • Solaris 5.10, 5.11 (i386, sparc)
  • openSUSE 12.1 (i686, x86_64)
  • Ubuntu 10.04, 10.10, 11.04, 11.10, 12.04, 12.10 (i386, x86_64)

に対応しており、

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

の1行でインストールできるようになっています。事前にcurlパッケージのインストールやsudoの設定が必要ですが、以前より格段にわかりやすく、手軽にChef Clientをインストールできるようになっています。もちろんsudoを使わずroot権限でインストールすることも可能です。また、興味のある方はinstall.shをダウンロードして中でどのような処理が行われているのか確認してみてください。

なお、Windowsは

  • Windows 2003r2 (i686, x86_64)
  • Windows 2008r2 (x86_64)
  • Windows 2008 (i686, x86_64)
  • Windows 2012 (x86_64)

に対応しており、msi形式のインストーラが提供されています。

Chef Client Omnibus Installerの実行

筆者はCentOS 5, 6、Ubuntu 10.04 LTS, 12.04 LTSでしか検証を行っていませんが、実際にUbuntu 12.04 LTSにインストールを行ってみます。

ubuntu@ubuntu:~$ curl -L https://www.opscode.com/chef/install.sh | sudo bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6471  100  6471    0     0   6250      0  0:00:01  0:00:01 --:--:--  8048
Downloading Chef  for ubuntu...
Installing Chef 
(データベースを読み込んでいます ... 現在 87342 個のファイルとディレクトリがインストールされています。)
chef 11.4.0-1.ubuntu.11.04 を (.../tmp.2IcsG3c1/chef__amd64.deb で) 置換するための準備をしています ...
chef を展開し、置換しています...
chef (11.4.0-1.ubuntu.11.04) を設定しています ...
Thank you for installing Chef!
ubuntu@ubuntu:~$

「Thank you for installing Chef!」とメッセージが表示されたらインストール完了です。

Chef Client Omnibus Installerの利点

このインストーラでは /opt/chef 以下にすべての必要なファイルがインストールされます。

ubuntu@ubuntu:~$ dpkg -L chef | cut -d/ -f1-4 | uniq
/opt
/opt/chef
/opt/chef/version-manifest.txt
/opt/chef/bin
/opt/chef/embedded
ubuntu@ubuntu:~$

Chefの動作に必要なRuby環境が付属しているため、OSに展開してあるRuby環境と完全に分けて運用することが可能になっています。

ubuntu@ubuntu:~$ ls /opt/chef/embedded/bin/
bundle      gem             librarian-mock    rak        ruby    tput
c_rehash    iconv           minitar           rake       tabs    tset
captoinfo   infocmp         ncurses5-config   rake2thor  testrb  tt
clear       infotocap       ncursesw5-config  rdoc       thor
erb         irb             nokogiri          reset      tic
foodcritic  librarian-chef  openssl           ri         toe
ubuntu@ubuntu:~$

例えば、ChefのRuby環境に対してGemのインストールを行ってみます。

ubuntu@ubuntu:~$ sudo /opt/chef/embedded/bin/gem install knife-solo --no-rdoc --no-ri
Thanks for installing knife-solo!

If you run into any issues please let us know at:
  https://github.com/matschaffer/knife-solo/issues

If you are upgrading knife-solo please uninstall any old versions by
running `gem clean knife-solo` to avoid any errors.

See http://bit.ly/CHEF-3255 for more information on the knife bug
that causes this.
Successfully installed knife-solo-0.2.0
1 gem installed
ubuntu@ubuntu:~$ 

ubuntu@ubuntu:~$ /opt/chef/embedded/bin/gem list | head
archive-tar-minitar (0.5.2)
bigdecimal (1.1.0)
bundler (1.1.5)
chef (11.4.0)
erubis (2.7.0)
foodcritic (2.0.0)
gherkin (2.11.6)
highline (1.6.15)
io-console (0.3)
ipaddress (0.8.0)
ubuntu@ubuntu:~$ 

ubuntu@ubuntu:~$ /opt/chef/embedded/bin/gem help install | tail -3
  Defaults:
    --both --version '>= 0' --rdoc --ri --no-force
    --install-dir /opt/chef/embedded/lib/ruby/gems/1.9.1
ubuntu@ubuntu:~$

このように多数のGemがインストールされましたが、OSのRuby環境には

ubuntu@ubuntu:~$ /usr/bin/gem list

*** LOCAL GEMS ***

ubuntu@ubuntu:~$ 

ubuntu@ubuntu:~$ /usr/bin/gem help install | tail -3
  Defaults:
    --both --version '>= 0' --rdoc --ri --no-force
    --install-dir /var/lib/gems/1.9.1
ubuntu@ubuntu:~$

まったく手がつけられていません。

このように、Chef Client Omnibus InstallerによっていまやChef Clientのインストールは大変簡単になりました。これを機会に、Chef Clientに触れてみるのはいかがでしょうか?

Author

Chef・Docker・Mirantis製品などの技術要素に加えて、会議の進め方・文章の書き方などの業務改善にも取り組んでいます。「Chef活用ガイド」共著のほか、Debian Official Developerもやっています。

Daisuke Higuchiの記事一覧

新規CTA