Любой уважающий себя системный администратор старается экономить свое время и автоматизирует рутинные процессы. Раньше для этих целей использовались в основном скриптами различных интерпретаторов так их как bash, python и powershell. Но со временем придумали единый универсальны инструмент для автоматизации всего и назвали его Ansible. Штука эта одновременно и очень мощная и очень простая в изучении, но для совсем зеленых новичков энтузиасты создали по Ansible бесплатный курс.
Что такое Ansible
Ansible — это инструмент для управления конфигурациями и автоматизации различных ИТ процессов. В общем случае он позволяет в автоматическом режиме совершать различные манипуляции с вашими серверами и сетевым оборудованием совершая типовые действия сразу на группе хостов. Он написан на python, очень прост, легко расширяем. В отличие от других подобных инструментов не требует установки агентов на сервера. Все управление серверами происходит по SSH либо по Winrm если это Windows сервера.
Основные понятия Ansible
Инвентарь (inventory) — это перечень хостов, на которых будут выполняться действия по конфигурации. В inventory пишут собственно сами хосты, их параметры, логины, порты и т.п. Хосты в инвентаре могут быть объединены в группы, каждый хост может в ходить в несколько групп. Это позволяет запускать конфигурации как на отдельные хосты, так и на нужные группы, так и на все хосты в инвентаре.
Модули — это по сути готовые скрипты выполняющие определенную функцию. Например модуль apt отвечает за установку и обновление пакетов в debian-based дистрибутивах. Модули можно вызывать явно в виде adhoc команд или писать большие сценарии, которые называются плейбуками.
Playbook — это сценарий, который состоит из плеев (play), а каждый play содержит несколько task. Можно написать длинный плейбук с множестовм плеев и большим количеством тасков, который например будет выполнять обновление пакетов на всех серверах предварительно делая бэкап.
Роли — это определенным образом настроенные плеи и таски. Роли позволяют предварительно настроить определенную конфигурацию, например настройка типового вебсервера. Дальше вы просто назначаете определенным образом роль нужным хостам и происходит их автоматическая настройка согласно параметрам прописанным в роли.
Подпишись на наш канал в Telegram или VK - первым узнавай о бесплатных вебинарах и курсах, а так же скидках на платное обучение.
Одна из ключевых фишек Ansible — идемпотентность. На практике это означает, что если действие было выполнено то повторно оно выполнятся не будет. Т.е. если в плейбуке прописана установка nginx на сервер и вы запускаете его второй раз на том же сервере, то ansible узнает что nginx уже был установлен и действие по установке повторно выполняться не будет.
Основные темы курса
- Что это Ansible
- Установка и настройка Ansible
- Что такое Inventory, Hosts и Groups
- AdHoc команды в Ansible. Модули
- Работа с переменными
- Написание Playbook в Ansible
- Документация Ansible (docs.ansible.com)
- Редактор Visual Studio Code (VS Code) для работы с Ansible
- Циклы в Ansible: Loop и with_items
- Вывод сообщений и переменных: debug и message
- Ansible Blocks: блоки и условия when
- Ansible template: шаблоны jinja
- Написание ролей в Ansible
Смотрите так же профессиональные курсы повышения квалификации в ИТ сфере в нашем каталоге. Удобно искать по школе, цене, направлению. Многие курсы помогают в трудоустройстве.
Смотрите Ansible бесплатный курс
Об авторе курса
Отблагодарить автора курса.