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に触れてみるのはいかがでしょうか?