GAGA LIFE.

インフラエンジニアブログ

スポンサーリンク

Ansible playbookコマンド実行

概要

プレイブックコマンドを利用したコマンドを確認します。

設定

基本となるインベントリとプレイブックを作成していきます。
その際、ターゲットノードをインベントリに指定します。
・やりたいこと
- ターゲットにディレクトリ作成
- コントロールのhostsファイルをコピー・転送

$ pwd
/home/ansible/PATH_TO/effective_ansible/sec2/inventory
$ cat test02_inventory.ini 
[test_servers]
192.168.3.9
192.168.3.8
$ cd ..
$ cat 
inventory/         test_playbook.yml  
$ cat test_playbook.yml 
---
- hosts: test_servers
  tasks:
  - name: create directory
    file:
       path: /home/ansible/tmp
       state: directory
       owner: ansible
       mode: 0755

  - name: copy file
    copy:
       src: /etc/hosts
       dest: /home/ansible/tmp/hosts
       owner: ansible
       mode: 0644

※IPアドレスは環境に合わせて適宜設定。
今回は192.168.3.9:コントロールノード、192.168.3.8:ターゲットノード

ansible-playbookコマンド実行

  • コントロールノード
$ ansible-playbook -i ./sec2/inventory/test02_inventory.ini ./sec2/test_playbook.yml 

PLAY [test_servers] ************************************************************************************

TASK [Gathering Facts] *********************************************************************************

TASK [create directory] ********************************************************************************
changed: [192.168.3.9]
changed: [192.168.3.8]

TASK [copy file] ***************************************************************************************
changed: [192.168.3.9]
changed: [192.168.3.8]

PLAY RECAP *********************************************************************************************
192.168.3.8                : ok=3    changed=2    unreachable=0    failed=0
192.168.3.9                : ok=3    changed=2    unreachable=0    failed=0
  • ターゲットノード
$ ls -la tmp/hosts 
-rw-r--r--. 1 ansible ansible 179  120 19:03 tmp/hosts

Ansible実行結果

Results Status Description
ok 成功 既に定義された状態になっているため、処理を実行しなかった
changed 成功 タスクで指定したステータスと異なっていたため、変更を実施した
skip 成功 タスクの実行条件に合っていなかったため、処理を実行しなかった
unreachable 失敗 ターゲットノードに接続できなかった
failed 失敗 タスク実行の結果、何らかのエラーが発生し、定義された状態にならなかった

スポンサーリンク