中級編

このページでは、Ansible ワークフローをディレクトリー構造とソース制御で管理するのに役立つ概念をいくつか紹介します。本書の初めで紹介している基本的な概念と同様、このような中間概念は Ansible のすべての用途に共通です。

一般的な Ansible ファイルツリー

Ansible では、特定の場所にある特定のファイルを見つけることを想定しています。インベントリーを拡張し、ネットワーク Playbook を作成して実行する場合には、ファイルを以下のように作業用の Ansible プロジェクトディレクトリーに整理した状態にします。

.
├── backup
│   ├── vyos.example.net\_config.2018-02-08@11:10:15
│   ├── vyos.example.net\_config.2018-02-12@08:22:41
├── first\_playbook.yml
├── inventory
├── group\_vars
│   ├── vyos.yml
│   └── eos.yml
├── roles
│   ├── static\_route
│   └── system
├── second\_playbook.yml
└── third\_playbook.yml

backup ディレクトリーと、そのディレクトリーに含まれるファイルは、backup: yes パラメーターを指定して vyos_config などのモジュールを実行すると作成されます。

インベントリーおよび Playbook への変更の追跡: git でのソース制御

インベントリー、ロール、および Playbook を拡張する際に、Ansible プロジェクトをソースコントロールの下に置く必要があります。ソース管理には git が推奨されます。git は監査証跡を提供し、変更の追跡、誤りのロールバック、履歴の表示と、Ansible エコシステムの管理、維持および拡張のワークロードを共有できるようにします。git を利用するためのチュートリアルおよびガイドは多数あります。