Chef
Chef は Ruby と Erlang で書かれた設定管理ツールです。純粋な Ruby のドメイン固有言語 (DSL) を使ってシステムの設定"レシピ"を書くことができます。Chef を使うことで会社のサーバーを設定したり管理するのが効率的になり Rackspace, Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure などのクラウドベースのプラットフォームと統合して新しいマシンを自動的に準備・設定することが可能になります。Chef には小規模なシステムから大規模なシステムまでのソリューションが用意されており、それぞれのスケールにあった機能と料金が設定されています。
目次
Chef Development Kit
Chef Development Kit (ChefDK) は Chef プラットフォームのための効率的な開発・デプロイメントワークフローです。ChefDK は以下を含んでいます:
- Chef
- Berkshelf
- Test Kitchen
- ChefSpec
- Foodcritic
インストール
AUR から chef-dkAUR パッケージをインストールしてください。(ワークステーションで利用する) chef-client
, chef-solo
, chef-zero
, chef-apply
, chef-shell
を入手するときは AUR を使うのが推奨されるインストール方法です。
Omnibus Chef Installer
Chef を一括でインストールするパッケージ。
パッケージでインストール
AUR から omnibus-chefAUR[リンク切れ: アーカイブ: aur-mirror] パッケージをインストールしてください。AUR ヘルパーを使わない場合、まず依存パッケージの ruby-bundlerAUR を先にインストールしてください。
このパッケージは Chef の Makeself オムニバスインストーラをビルド・インストールします。パッケージのインストール時にインストーラの実行を選択しなかった場合、次のコマンドでいつでも実行できます:
# /usr/local/bin/chef-installer
ソースからインストール
$ git clone https://github.com/opscode/omnibus-chef.git $ cd omnibus-chef
先にインストールしたファイルやオムニバスのキャッシュを削除してください:
# rm -Rf /opt/chef/* /var/cache/omnibus/*
ディレクトリをセットアップして所有者をあなたに変えることで root でビルドしなくてもよくします:
# mkdir -p /opt/chef /var/cache/omnibus # chown -R "$USER:users" /opt/chef # chown -R "$USER:users" /var/cache/omnibus
以下を実行してビルドしてください:
$ bundle install --binstubs $ bundle exec omnibus clean chef $ bundle exec omnibus build chef
ビルド後に、ディレクトリの所有者は元に戻してかまいません:
# chown -R root:root /opt/chef # chown -R root:root /var/cache/omnibus
Makeself ポータブルインストーラ (例: chef-11.8.2_0.arch.3.12.6-1-ARCH.sh
) が作成されるので、実行して Chef をインストールしてください。
アンインストール
手動で全てのインストールファイルを削除:
# rm -Rf /opt/chef
オムニバスのキャッシュも削除できます:
# rm -Rf /var/cache/omnibus
他のインストール方法
パッケージ
AUR から ruby-chefAUR パッケージをインストールできます。
RubyGem
Chef を一番簡単にインストールできる方法ですが、全く推奨できません。既に依存するバージョンの gem をシステムにインストールしている場合、衝突が発生する可能性があります。
まず公式リポジトリから ruby パッケージをインストールしてください。パッケージには RubyGem も含まれています。
次に、Chef の RubyGem をインストールします:
# gem install chef