[Ansible]hello worldのメッセージを出すだけのplaybookを作る

カテゴリ: Ansible

Ansibleでlocalhostに接続し、hello worldのデバッグメッセージを出すだけのplaybookを作ります。これだけでは特に使い道はありませんが、ansible自体がうまく動作しない時などの問題切り分けに役立つかもしれません。

hello worldを出力する

まずはplaybook.ymlのファイル名で以下のファイルを作成します。

  • playbook.yml
- hosts: localhost
  tasks:
    - debug: msg="hello world"

ファイルを保存したら、ansible-playbook playbook.ymlコマンドを実行すると、メッセージが出力されます

$ ansible-playbook playbook.yml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [debug] *******************************************************************
ok: [localhost] => {
    "msg": "hello world"
}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0

factの内容をダンプする

Ansibleでは実行に先立ち、対象サーバの情報を取得します。この情報取得はfactと呼ばれています。factの情報はplaybookから参照できるよう、変数に格納されれいます。

Ansibleのdebugモジュールは変数の内容を出力することができるため、以下のplaybookを作ることで変数の中身を確認できます。

  • playbook.yml
- hosts: localhost
  tasks:
    - debug: var=ansible_distribution
  • 実行結果
$ ansible-playbook playbook.yml

PLAY [localhost] **********************************************************************

TASK [Gathering Facts] ****************************************************************
ok: [localhost]

TASK [debug] **************************************************************************
ok: [localhost] => {
    "ansible_distribution": "MacOSX"
}

PLAY RECAP ****************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0

playbookの定義を、var=ansible_distributionではなく、var=ansible_factsにすると、全てのfact情報を確認することができます。

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。