Описание сценариев Ansible

Для работы с Ansible на клиенте достаточно SSH-соединения. Задача Ansible – выполнить одновременно ряд операций на нескольких удаленных рабочих станциях. Все операции, которые выполняются последовательно, записываются в некий Ansible-скрипт - плейбук, основанный на собственном наборе команд. Записи ведутся в простом формате и построены на YAML-разметке. Пример записи сценария:

- name: "First step"
hosts: localhost
tasks:
- taskA
- taskB
где:
name: "First step" – имя группы задач;
hosts: localhost – хосты, на которых будут выполнены задачи;

Параметры, перечисленные после команды tasks – перечень задач, которые необходимо выполнить.

В одном плейбуке может быть несколько блоков с задачами, для чего необходимо добавить дополнительные параметры name после завершения описания предыдущей группы задач.

Команды программы – tasks – являются модулями Ansible. Таким образом, задавая параметры task, вызывается модуль Ansible с его параметрами. Записать task можно в двух видах: кратком и полном.

Пример команды установки curl при помощи dnf-модуля в кратком виде:

-dnf: name=curl state=latest

Тогда плейбук с этим task будет выглядеть следующим образом:

- name: "First step"
hosts: localhost
tasks:
- dnf: name=curl state=latest

Возможность более полно описать команду task – присвоить ей имя (name). Тогда получившийся текст выглядит как подзадача основного блока задач:

- name: "First step"
hosts: localhost
tasks:
- name: "Add curl package"
dnf: name=curl state=latest

В этом случае сразу видно, что есть блок задач "First step", в нем существует одна задача – установка пакета curl.