Thursday, 8 February 2018

Ansible: Playbooks

Use Ansible playbooks to run idempotent tasks on your servers.We installed Ansible and then installed nginx on three servers, using Ansible's "apt" module.
The first thign we do here is run the same command again to install Nginx:

ansible all -m apt -a "pkg=nginx state=latest update_cache=true" \ -u root --private-key=~/.ssh/id_ansible
This time our output shows us that nothing was changed, as our desired state has already been reached!

Playbooks

We'll use Playbooks to allow some more orchestration and follow a more configuration steps.

mkdir ansible cd ansible # Create a playbook named "nginx.yml" vim nginx.yml

The nginx.yml file:

--- - hosts: web sudo: yes user: root tasks: - name: Add Nginx Repository apt_repository: repo='ppa:nginx/stable' state=present register: ppainstalled - name: Install Nginx apt: pkg=nginx state=latest update_cache=true when: ppainstalled|success notify: - Start Nginx handlers: - name: Start Nginx service: name=nginx state=started

Once that's saved, we can run this via the ansible-playbook command:

ansible-playbook --private-key=~/.ssh/id_ansible nginx.yml

This will connect to the servers, gather facts about it, and change what needs to be changed to accomplished the tasks defined.




No comments:

Post a Comment

Ansible: Roles

Use Ansible roles to orchestrate more complex configurations.Let's create a new directory named  nginx , which will be a Role. Then we&...