Ansible : Playbook を利用する#52015/07/15 |
タスクや Playbook は他からインクルードすることができます。
|
|
[1] | タスクを他からインクルードする場合は、tasks 内に include: ~ と記述します。 |
[cent@dlp ~]$
vi playbook_sample.yml # tasks ディレクトリ配下の included.yml をインクルード - hosts: target_servers become: yes become_method: sudo tasks: - include: tasks/included.yml vars: general_packages: vim-enhanced,wget,unzip # タスクの部分のみの記述でOK # item は general_packages の値を参照 - name: General packages are installed yum: name="{{ item }}" state=installed with_items: - "{{ general_packages }}" tags: General_Packages ansible-playbook playbook_sample.yml --ask-become-pass SUDO password: PLAY [target_servers] ********************************************************* GATHERING FACTS *************************************************************** ok: [10.0.0.52] ok: [10.0.0.51] TASK: [General packages are installed] **************************************** changed: [10.0.0.52] => (item=vim-enhanced,wget,unzip) changed: [10.0.0.51] => (item=vim-enhanced,wget,unzip) PLAY RECAP ******************************************************************** 10.0.0.51 : ok=2 changed=1 unreachable=0 failed=0 10.0.0.52 : ok=2 changed=1 unreachable=0 failed=0 |
[2] | Playbook を他からインクルードする場合の例です。タスクのインクルードとは記述する階層が異なります。 以下は、[1]の例に加えて、httpd の起動状態を保つ Playbook をインクルードする例です。 |
[cent@dlp ~]$
vi playbook_sample.yml - hosts: target_servers become: yes become_method: sudo tasks: - include: tasks/included.yml vars: general_packages: vim-enhanced,wget,unzip # 他の Playbook をインクルード - include: httpd.yml
[cent@dlp ~]$
vi httpd.yml # 通常の Playbook と同様の書式で記述する - hosts: target_servers become: yes become_method: sudo tasks: - name: httpd is installed yum: name=httpd state=installed - name: httpd is running and enabled service: name=httpd state=started enabled=yes ansible-playbook playbook_sample.yml --ask-become-pass SUDO password: PLAY [target_servers] ********************************************************* GATHERING FACTS *************************************************************** ok: [10.0.0.52] ok: [10.0.0.51] TASK: [General packages are installed] **************************************** changed: [10.0.0.51] => (item=vim-enhanced,wget,unzip) changed: [10.0.0.52] => (item=vim-enhanced,wget,unzip) PLAY [target_servers] ********************************************************* GATHERING FACTS *************************************************************** ok: [10.0.0.52] ok: [10.0.0.51] TASK: [httpd is installed] **************************************************** ok: [10.0.0.51] ok: [10.0.0.52] TASK: [httpd is running and enabled] ****************************************** ok: [10.0.0.51] ok: [10.0.0.52] PLAY RECAP ******************************************************************** 10.0.0.51 : ok=5 changed=1 unreachable=0 failed=0 10.0.0.52 : ok=5 changed=1 unreachable=0 failed=0 |
Sponsored Link |