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 |
|
|