入門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章をサンプルとして公開します。

入門Ansibleサンプル

これはPDFですので、Amazonで購入していただいたものとはフォーマットが異なる点に注意してください。

課題トラッカー

https://bitbucket.org/r_rudi/ansible-book/issues

にて課題トラッカーを公開しております。誤字脱字、間違いを見つけたときは、 もしよろしければ、こちらに登録して頂ければ修正致します。また、「この部 分をもっと解説して欲しい」という要望がありましたら、同じく登録して頂け れば可能な限り反映したいと思います。

今後の予定

3ヶ月後をめどに、課題トラッカーで受け付けた課題を修正し、その他に GumRoadにてPDF、epub版を公開する予定です。もちろん、Amazonにて引き続き 修正したものを販売する予定です。

ちなみに紙の書籍化は今のところ予定ありません。

その他

  • 完全にSphinxのみで執筆しました。これに関してはまた別途。

  • 表紙の絵を描いていただける方募集中です…

Comments

comments powered by Disqus