Chef
サーバの設定を行うツール。
ChefのRecipeはRubyスクリプト。
リポジトリというフォルダに、cookbookがあって、cookbookにレシピが入る構成。
- Chef Soloの正しい始め方 | tsuchikazu blog(分かりやすかった)
- 例えば、apache2をインストールするクックブックを実行する場合、apache2がインストールされていても、されていなくてもOK。
- apache2をアンインストールしたような状態でもOK。
- これがすなわち「べき等性」。
- CentOSでもUbuntuでもOK(なように条件分岐して記述できる)。
Ansible
Chefよりシンプル。
管理対象サーバにインストール不要(Pythonのみ必要)。
- エージェントレスでシンプルな構成管理ツール「Ansible」入門 - さくらのナレッジ
http://knowledge.sakura.ad.jp/tech/3124/
対象サーバリスト → /etc/ansible/hosts
設定ファイル → /etc/ansible/ansible.cfg
ファイルをコピーするcopyモジュールとか、ファイルを作ったりパーミッション変更したりするfileモジュールとかがあらかじめ用意されてる。
レシピにあたるのはPlaybook(YAMLで記述)。
$ ansible-playbook <実行したいPlaybookファイル>