Ansible playbooks are YAML files which are implemented to run ansible tasks. Following a basic ansible playbook file structure.
--- # Here we can comment - name: Ansible file example hosts: myhost.example.com tasks: - name: Install httpd by yum command yum: name: httpd state: latest - name: Check the connection ping: ...
Following the command to check all options to work with playbooks
$ man ansible-playbook
Following few useful ansible playbooks useful commands.
–syntax-check: Will check the syntax of the file (E.g ansible-playbook –syntax-check myfile.yml)
–check: Will check the execution of the playbook. (E.g ansible-playbook –check myfile.yml)
Following the command to execute the playbook
$ ansible-playbook myfile.yml
How to configure playbooks to run different tasks in multi hosts?
--- # Example of multi tasks e multi hosts - name: Run task in server A hosts: serverA.example.com tasks: - name: Check if exists user user: # ansible module name: john uid: 5400 state: present - name: Check if httpd is enabled service: name: httpd enabled: true - name: Check if NTP server is enabled service: name: chronyd enabled: true - name: Check if postfix is enabled service: name: postfix enabled: true - name: Run task in server B hosts: serverB.example.com tasks: # tasks to run in the server B - name: Copy file copy: dest: /etc/myfile content: "Add here content of my file\n" ...
Following some references for the Ansible documentation.