23. Основы Ansible

Ansible:

  • Работает без установки агента на управляемые хосты
  • Использует SSH для подключения к управляемым хостам
  • Выполняет изменения с помощью модулей Python, которые выполняются на управляемых хостах
  • Может выполнять действия локально на управляющем хосте
  • Использует YAML для описания сценариев
  • Содержит множество модулей (их количество постоянно растет)
  • Можно писать свои модули

Терминология:

  • Control machine — управляющий хост. Сервер Ansible, с которого происходит управление другими хостами
  • Manage node — управляемые хосты
  • Inventory — инвентарный файл. В этом файле описываются хосты, группы хостов, а также могут быть созданы переменные
  • Playbook — файл сценариев
  • Play — сценарий (набор задач). Связывает задачи с хостами, для которых эти задачи надо выполнить
  • Task — задача. Вызывает модуль с указанными параметрами и переменными
  • Module — модуль Ansible. Реализует определенные функции

Список терминов в документации.

С Ansible достаточно просто начать работать. Минимум, который нужен для начала работы:

  • инвентарный файл - в нём описываются устройства
  • изменить конфигурацию Ansible для работы с сетевым оборудованием
  • разобраться с ad-hoc командами - это возможность выполнять простые действия с устройствами из командной строки
  • например, с помощью ad-hoc команд можно отправить команду show на несколько устройств

Намного больше возможностей появится при использовании playbook (файлы сценариев). Но ad-hoc команды намного проще начать использовать. И с ними легче начать разбираться с Ansible.