Что такое Ansible? | OTUS
🔥 Осенние скидки в Otus!
-5% по промокоду lastcall на ноябрьские и декабрьские курсы до 16.11. Забрать скидку! →
Выбрать курс

Что такое Ansible?

В этой статье мы вкратце рассмотрим ключевые особенности и структуру Ansible, его установку и запуск, а также модули и архитектуру.

Ansible — система с открытым исходным кодом. Задача Ansible — автоматизация поставки ПО, развертывание приложений и управление конфигурацией.

Особенности:

безагентность. В клиенте не установлено ПО либо агент, который общается с сервером; • идемпотентность. Вне зависимости от того, сколько раз вызывается операция, результат не меняется; • простота и расширяемость. Ansible написан на Python и использует для написания команд YAML. Два этих языка считают довольно простыми в изучении.

Установка и запуск, как правило, затруднений не вызывают:

Screenshot_1-1801-253875.png

Если у вас другая ОС, добро пожаловать на страницу с инструкцией.

Структура

Модули

Небольшие программы, которые выполняют на сервере определенную работу. Допустим, вместо запуска команды sudo apt-get install htop, мы можем задействовать модуль apt и установить htop:

Screenshot_2-1801-d277d8.png

Применение модуля позволит узнать, установлен он либо нет.

Screenshot_4-1801-70bd6a.png

Плагины

Фрагменты кода, расширяющие основные функциональные возможности. Ansible поставляется с рядом удобных плагинов, однако никто не мешает написать свой.

Инвентаризация хостов

Для предоставления перечня хостов, надо обозначить список, который находится в файле инвентаризации. Его содержание напоминает файл hosts. В простейшем виде — это одна строка:

Screenshot_3-1801-093ad0.png

Playbooks

Ansible playbooks представляет собой метод отправки команд на удаленные ПК посредством скриптов. Таким образом, не обязательно персонально применять Ansible-команды для удаленной настройки ПК из командной строки — можно сразу настраивать целые сложные среды и передавать скрипт одной либо нескольким системам.

group_vars

Это файл, содержащий набор переменных, к примеру, имя пользователя и пароль БД.

Роли

Это способ сгруппировать ряд задач в один контейнер, что позволит эффективно автоматизировать работу посредством понятной структуры каталогов.

Обработчики

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

Теги

Если речь идет о playbook с большим объемом, бывает полезно запускать лишь определенную часть конфигурации.

Архитектура Ansible

Архитектура относительно проста для понимания, что можно видеть из рисунка ниже:

3_7_1-1801-455fe3.png

Существует один механизм автоматизации, напрямую взаимодействующий с пользователем, который пишет и выполняет playbooks. Также он способен взаимодействовать со службами (размещены в облаке), инструментами управления конфигурацией либо БД. Основные компоненты механизма автоматизации -- инвентаризация, подключаемые модули, API-интерфейсы, облако, хосты и т. д.

Источники: -- "Ansible"; -- "Ansible Tutorial Guide для начинающих"; -- "Ansible In Action".

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Запланируй обучение с выгодой!
Получи скидку 10% на все курсы и специалиции октября до 10.11 →