IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

Основная структура задачи (task) в Ansible:

В Ansible плейбуке каждая задача (task) представляет собой единицу работы, которая выполняется на целевых узлах. Задачи выполняются последовательно и описывают, что именно должно быть сделано на каждом узле. Задачи в плейбуке определяются как список под ключом tasks.

Основная структура задачи (task) в Ansible:

Подробное объяснение ключевых элементов задачи:

  1. name:
    • Описание задачи, которое помогает понять, что она делает. Это поле необязательно, но рекомендуется для ясности.
  2. <модуль>:
    • Основная часть задачи, указывающая модуль Ansible, который будет использоваться (например, copy, yum, service).
    • Аргументы модуля указываются как ключ-значение (например, path: /tmp/file, state: present).
  3. register:
    • Используется для сохранения результата выполнения задачи в переменной. Полезно для дальнейшего использования в других задачах.
  4. when:
    • Условие, которое должно быть выполнено, чтобы задача выполнялась. Например, when: ansible_os_family == 'Debian'.
  5. ignore_errors:
    • Позволяет задаче продолжить выполнение, даже если она завершится с ошибкой. Значение: yes или no.
  6. changed_when:
    • Условие, которое указывает, что считать изменением состояния после выполнения задачи.
  7. failed_when:
    • Условие, определяющее, что считать ошибкой при выполнении задачи, даже если модуль завершился успешно.
  8. retries и delay:
    • Указывают, сколько раз повторять выполнение задачи и с какой задержкой между попытками. Используются совместно с until.
  9. until:
    • Условие, которое должно быть выполнено, чтобы завершить повторное выполнение задачи.
  10. notify:
    • Указывает на обработчик (handler), который должен быть вызван после успешного выполнения задачи.
  11. tags:
    • Позволяет помечать задачи тегами для последующего выполнения или исключения задач на основе тегов.
  12. environment:
    • Определяет переменные окружения, которые будут использоваться только в рамках данной задачи.

Пример задачи в Ansible плейбуке:

В этом примере задача устанавливает Nginx на целевых узлах с операционной системой семейства Debian, регистрирует результат установки в переменной install_result, и, если задача выполнена успешно, уведомляет обработчик Restart Nginx о необходимости перезапустить сервис.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *