Ansible : Use Playbook (basic)2022/07/22 |
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. |
[cent@dlp ~]$
vi playbook_sample.yml # target host or group - hosts: 10.0.0.50 tasks: # any task name - name: Test Task # use file module to set the file state file: path: /home/cent/test.conf state: touch owner: cent group: cent mode: 0600 # run Playbook [cent@dlp ~]$ ansible-playbook playbook_sample.yml PLAY [10.0.0.50] *************************************************************** TASK [Gathering Facts] ********************************************************* ok: [10.0.0.50] TASK [Test Task] *************************************************************** changed: [10.0.0.50] PLAY RECAP ********************************************************************* 10.0.0.50 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 # verify [cent@dlp ~]$ ansible 10.0.0.50 -m command -a "ls -l /home/cent" 10.0.0.50 | CHANGED | rc=0 >> total 0 -rw-------. 1 cent cent 0 Jul 22 11:36 test.conf |
[2] | For example, create a Playbook that Apache httpd is installed and running. |
[cent@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: httpd is installed yum: name: httpd state: present - name: httpd is running and enabled service: name: httpd 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 [httpd is installed] ****************************************************** changed: [10.0.0.51] changed: [10.0.0.52] TASK [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 [cent@dlp ~]$ ansible target_servers -m shell -a "/bin/systemctl status httpd | head -3" 10.0.0.51 | CHANGED | rc=0 >> * httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-07-22 11:39:47 JST; 1min 34s ago 10.0.0.52 | CHANGED | rc=0 >> * httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-07-22 11:39:47 JST; 1min 34s ago |
Sponsored Link |