1. Основы 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.