Chef

提供: ArchWiki
2018年4月29日 (日) 14:39時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

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-bundler を先にインストールしてください。

このパッケージは 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

他のインストール方法

ノート: 以下の方法を使ってはいけません。ChefDK をインストールするか Omnibus インストーラを使う方法が推奨です (上記を参照)。このセクションは一応他の方法があることを示すためだけに書かれています。

RubyGem

Chef を一番簡単にインストールできる方法ですが、全く推奨できません。既に依存するバージョンの gem をシステムにインストールしている場合、衝突が発生する可能性があります。

まず公式リポジトリから ruby パッケージをインストールしてください。パッケージには RubyGem も含まれています。

次に、Chef の RubyGem をインストールします:

# gem install chef