Ansible (5) moduleとplaybook<後編>

こんにちは。
グローバルソリューション事業部の吉村です。
Ansibleまとめ第5回目です。

前回につづき、module と playbookについて説明します。

2. playbook

playbookとは

Playbookは module の組み合わせを記載したものです。

module を組み合わせるとは、例えば以下のような流れを作ることです。

  1. サーバのOSを確認する
  2. サーバのOSに合わせてインストールするソフトウェアを指定する
  3. ソフトウェアをインストールした後に、そのソフトウェアのパラメータ設定をする

このように Playbook 上で導線を描くことにより、Ansible は自動化ツールになるのです。

 

また、Playbookは YAML形式 で記載するので、実行したい内容を分かりやすく書いていくことができます。

一番シンプルな形の Playbook で説明すると、↓これだけでPlaybookになります。

この Playbook なら、なんとなーく意味がわかりますね。

書いている内容は2つ。

  • リモートサーバ(実行対象サーバ)が、 192.168.12.183 である
  • “debug” module を使用して、”ansible-playbook command test” というメッセージを表示する

これだけです。

では、実行してみましょう。

module 単体で使用した時と比べると、結果の表示内容が異なっていますね。

■PLAY

Playbook内の「-name:」が表示されています。が、これは単純にPlaybookに名前を付けただけです。

■GATHERING FACTS

リモートサーバ 192.168.12.183  に対して OKと出ます。
これは Anbsible のデフォルトの動作で、Ansibleは Playbook に書かれた task を実行する前に、まず対象サーバの情報を集めてきます。
今回は1台だけ実行したので問題ないですが、この GATHERING FACTS の動作は少し時間がかかるので、大量のサーバにPlaybookを実行する際にはGATHERING FACTSを実行しないように(無効化)もします。

■TASK

Playbook内の「task」で指定した内容が実行されて成功したことが分かります。

■PLAY RECAP

今回 Playbook を実行したことで、このサーバに何が起きたのかを結果ステータスで表示します。
okは指定した内容が成功、unreachable や failed があれば Playbook で指定した内容が失敗したことが分かります。

 

 

今回はここまで!

次回、ついにAnsible のPlaybookを書いていきます。
お楽しみに!

Share on LinkedIn
LINEで送る
Pocket

吉村

吉村

クララオンライン グローバルビジネスストラテジー部でマーケティング担当として働いています。 クラウド関連技術と中国関連の情報をお届けしてます。 たまに DJ とかします。日本語RAPが大好きです。