概要
プレイブックコマンドを利用したコマンドを確認します。
設定
基本となるインベントリとプレイブックを作成していきます。
その際、ターゲットノードをインベントリに指定します。
・やりたいこと
- ターゲットにディレクトリ作成
- コントロールの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 1月 20 19:03 tmp/hosts
Ansible実行結果
Results | Status | Description |
---|---|---|
ok | 成功 | 既に定義された状態になっているため、処理を実行しなかった |
changed | 成功 | タスクで指定したステータスと異なっていたため、変更を実施した |
skip | 成功 | タスクの実行条件に合っていなかったため、処理を実行しなかった |
unreachable | 失敗 | ターゲットノードに接続できなかった |
failed | 失敗 | タスク実行の結果、何らかのエラーが発生し、定義された状態にならなかった |