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情報を確認することができます。
こちらもおススメ