構成管理だけでなく、デプロイなどにも使える、シンプルで使いやすいツールで「Ansible」について、その特徴、インストール方法から使い方、大規模環境への適用の仕方などを解説。本書を読むとAnsibleのことが使えるようになります。
さらに、よくある質問や設定ファイルの解説、モジュールおよびpluginの作成方法など、経験者にも利用価値が高い内容も記載しています。
■ 目次
1章. はじめに
- Ansibleの特徴
- Ansibleはシンプル
- ChefやPuppetとの違い
- Ansibleは "Better Shell Script"
2章. Ansibleを使ってみよう
- インストール
- inventoryファイル
- モジュール (module)
3章. playbookを作ってみよう
- YAMLの文法
- playbookを書いてみる
- playbookの解説
- task
- handler
- よく使うモジュール
4章. 複雑なplaybookを作ってみよう
- 繰り返し -- with_items
- 出力を保存してあとで使う -- register
- 条件付き実行 -- when
- 成功するまで繰り返す -- until
- 外部情報の参照 -- lookup
- 変数を処理する -- filter
- キーボードから入力する -- vars_prompt
- 管理ホストで実行する -- local_action
- 実行するモジュールを変数で変更する -- action
- 環境変数を設定する - environment
- 失敗しても無視する - ignore_errors
- 非同期でtaskを実行する -- async
5章. 大規模なplaybookを構築してみよう
- 他のplaybookを読み込む -- include
- 推奨ディレクトリ構成 -- ベストプラクティス
- まとめて再利用 -- role
- 並列実行 -- fork
- 順々に実行する -- serial
- AWS EC2との連携
- ホストのリストを動的に作成 -- dynamic inventory
6章. コマンドラインオプションを使ってみよう
- ssh認証
- 対象ホストを制限する -- limit
- 実行するtaskを制限する -- tag
- dry-run実行 -- check
- taskを確認しながら実行 -- step
- 差分表示 -- diff
7章. 変数ファイルの暗号化 -- ansible-vault
- ansible-vaultの使い方
- 暗号化されたファイルの使い方
8章. 公開されているroleを使ってみよう -- Ansible Galaxy
- Ansible Galaxyとは
- roleの検索方法
- roleを手に入れる
- roleの使い方
9章. よくあるご質問
- 接続できない
- ControlPath too longというエラーが出る
- 実行しても途中で止まる
- inventory ファイルがなくても接続したい
- 一つのplaybookが複雑になってしまった
- python not foundというエラーが出る
- Windowsで使いたい
- ansible-playbookに変な絵が表示される
- ansibleが収集する変数を知りたい
- invalid type type 'list'と出る
- 変数を使った時に "Syntax Error" が出る
- "---" はどういう意味?
- Ansibleという名前の由来は?
10章. おわりに
付録: モジュールを自作する
- モジュールの動作
- モジュールの形式
- モジュールのサンプル
- Pythonでの便利関数
- モジュールのデバッグ
付録: Ansible plugin
- pluginの種類
- lookup plugin
- filter plugin
- callback plugin
- action plugin
- connection type plugin
- vars plugin
付録: ansible configファイル
- defaultセクション
- paramiko セクション
- ssh_connection セクション
- accelerateセクション
付録: Windows対応
- 前提環境
- 準備
- inventoryファイル
- モジュール
- 制限事項