Ansible: Creating a Playbook

From Glitchdata
Jump to navigation Jump to search

Ansible playbooks are a way to send commands to remote computers in a scripted way. Instead of using Ansible commands individually to remotely configure computers from the command line, you can configure entire complex environments by passing a script to one or more systems.

Ansible playbooks are written in the YAML data serialization format. If you don't know what a data serialization format is, think of it as a way to translate a programmatic data structure (lists, arrays, dictionaries, etc) into a format that can be easily stored to disk. The file can then be used to recreate the structure at a later point. JSON is another popular data serialization format, but YAML is much easier to read.

Each playbook contains one or more plays, which map hosts to a certain function. Ansible does this through something called tasks, which are basically module calls.

Sample Playbook

- hosts: droplets
    - name: Installs nginx web server
      apt: pkg=nginx state=installed update_cache=true
        - start nginx

    - name: start nginx
      service: name=nginx state=started