入門Ansibleを出版しました
この度「入門 Ansible」として、Amazonにて出版致しました。
今までAnsibleに関する日本語の本はありませんでしたが、Ansibleの入門書的な位置づけとして、まずこれを読めば分かる、ということを目指して執筆しました。
本書を執筆するにあたり、レビュー頂いた方々に感謝致します。
内容はちょっと長いですが、以下の通りです。
- はじめに
- Ansibleの特徴
- Ansibleはシンプル
- ChefやPuppetとの違い
- Ansibleは "Better Shell Script"
- Ansibleを使ってみよう
- インストール
- inventoryファイル
- モジュール (module)
- playbookを作ってみよう
- YAMLの文法
- playbookを書いてみる
- playbookの解説
- task
- handler
- よく使うモジュール
- 複雑なplaybookを作ってみよう
- 繰り返し -- with_items
- 出力を保存してあとで使う -- register
- 条件付き実行 -- when
- 成功するまで繰り返す -- until
- 外部情報の参照 -- lookup
- 変数を処理する -- filter
- キーボードから入力する -- vars_prompt
- 管理ホストで実行する -- local_action
- 実行するモジュールを変数で変更する -- action
- 環境変数を設定する - environment
- 失敗しても無視する - ignore_errors
- 非同期でtaskを実行する -- async
- 大規模なplaybookを構築してみよう
- 他のplaybookを読み込む -- include
- 推奨ディレクトリ構成 -- ベストプラクティス
- まとめて再利用 -- role
- 並列実行 -- fork
- 順々に実行する -- serial
- AWS EC2との連携
- ホストのリストを動的に作成 -- dynamic inventory
- コマンドラインオプションを使ってみよう
- ssh認証
- 対象ホストを制限する -- limit
- 実行するtaskを制限する -- tag
- dry-run実行 -- check
- taskを確認しながら実行 -- step
- 差分表示 -- diff
- 変数ファイルの暗号化 -- ansible-vault
- ansible-vaultの使い方
- 暗号化されたファイルの使い方
- 公開されているroleを使ってみよう -- Ansible Galaxy
- Ansible Galaxyとは
- roleの検索方法
- roleを手に入れる
- roleの使い方
- よくあるご質問
- 接続できない
- ControlPath too longというエラーが出る
- 実行しても途中で止まる
- inventory ファイルがなくても接続したい
- 一つのplaybookが複雑になってしまった
- python not foundというエラーが出る
- Windowsで使いたい
- ansible-playbookに変な絵が表示される
- ansibleが収集する変数を知りたい
- invalid type <type 'list'>と出る
- 変数を使った時に "Syntax Error" が出る
- "---" はどういう意味?
- Ansibleという名前の由来は?
- おわりに
- 付録: モジュールを自作する
- モジュールの動作
- モジュールの形式
- モジュールのサンプル
- Pythonでの便利関数
- モジュールのデバッグ
- 付録: Ansible plugin
- pluginの種類
- lookup plugin
- filter plugin
- callback plugin
- action plugin
- connection type plugin
- vars plugin
- 付録: ansible configファイル
- defaultセクション
- paramiko セクション
- ssh_connection セクション
- accelerateセクション
「入門」ですので、Ansibleの紹介や、インストール、YAMLの解説など、Ansible playbookを書き始める前の段階から記述しています。また、最初に基本的なplaybookを記述できるようにし、その後に複雑な機能を紹介していく、という形式にしています。
そうは言いつつ、設定ファイルの詳細やモジュールとpluginの作成についてなどが載っていたりするので、入門者以外の方にも満足頂けるのではないかと思っています。
サンプル
「どんなものかちらっと見てみたい」という方もいらっしゃると思いますので、1章と2章をサンプルとして公開します。
これはPDFですので、Amazonで購入していただいたものとはフォーマットが異なる点に注意してください。
課題トラッカー
https://bitbucket.org/r_rudi/ansible-book/issues
にて課題トラッカーを公開しております。誤字脱字、間違いを見つけたときは、もしよろしければ、こちらに登録して頂ければ修正致します。また、「この部分をもっと解説して欲しい」という要望がありましたら、同じく登録して頂ければ可能な限り反映したいと思います。
今後の予定
3ヶ月後をめどに、課題トラッカーで受け付けた課題を修正し、その他にGumRoadにてPDF、epub版を公開する予定です。もちろん、Amazonにて引き続き修正したものを販売する予定です。
ちなみに紙の書籍化は今のところ予定ありません。
その他
- 完全にSphinxのみで執筆しました。これに関してはまた別途。
- 表紙の絵を描いていただける方募集中です…