Ansible : Use Playbook (basic)2024/09/11 |
This is the basic usage of Ansible Playbook. Playbook is written as YAML file. |
|
[1] | For example, create a Playbook that a file exists with the same permission. |
freebsd@dlp:~ $
vi playbook_sample.yml # target host or group - hosts: 10.0.0.51 tasks: # any task name - name: Test Task # use file module to set the file state file: path: /home/freebsd/test.conf state: touch owner: freebsd group: freebsd mode: 0600 # run Playbook freebsd@dlp:~ $ ansible-playbook playbook_sample.yml PLAY [10.0.0.51] ******************************************************************* TASK [Gathering Facts] ************************************************************* ok: [10.0.0.51] TASK [Test Task] ******************************************************************* changed: [10.0.0.51] PLAY RECAP ************************************************************************* 10.0.0.51 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 # verify freebsd@dlp:~ $ ansible 10.0.0.50 -m command -a "ls -l /home/freebsd" 10.0.0.51 | CHANGED | rc=0 >> total 1 -rw------- 1 freebsd freebsd 0 Sep 11 10:25 test.conf |
[2] | For example, create a Playbook that Apache2 is installed and running. |
freebsd@dlp:~ $
vi playbook_sample.yml - hosts: target_servers # use privilege (default : root) become: yes # method to use privilege become_method: sudo tasks: # task settings - name: apache httpd is installed pkgng: name: apache24 state: present - name: apache httpd is running and enabled service: name: apache24 state: started enabled: yes ansible-playbook playbook_sample.yml --ask-become-pass BECOME password: PLAY [target_servers] *********************************************************************** TASK [Gathering Facts] ********************************************************************** ok: [10.0.0.51] ok: [10.0.0.52] TASK [apache httpd is installed] ************************************************************ changed: [10.0.0.52] changed: [10.0.0.51] TASK [apache httpd is running and enabled] ******************************************************* changed: [10.0.0.51] changed: [10.0.0.52] PLAY RECAP ********************************************************************************** 10.0.0.51 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 10.0.0.52 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 # verify freebsd@dlp:~ $ ansible target_servers -m shell -a "/usr/sbin/service apache24 status" 10.0.0.52 | CHANGED | rc=0 >> apache24 is running as pid 1531. 10.0.0.51 | CHANGED | rc=0 >> apache24 is running as pid 1738. |
Sponsored Link |