Сотня серверов — одна команда
Представьте: нужно установить nginx на 100 серверов, настроить одинаково. Делать вручную — часы работы и неизбежные ошибки. Ansible выполнит это за минуты с гарантией одинакового результата.
Почему Ansible популярен
Без агентов — не нужно устанавливать ничего на управляемые серверы. Ansible подключается по SSH. Требование: Python на целевых машинах (есть везде).
YAML-плейбуки — конфигурация читается как обычный текст. Не нужно знать Python или Ruby.
Идемпотентность — запусти 10 раз, результат тот же, что и после первого запуска. Ansible проверяет текущее состояние перед действием.
Структура плейбука
- hosts: webservers
tasks:
- name: Install nginx
apt:
name: nginx
state: present
- name: Start nginx
service:
name: nginx
state: started
Этот плейбук устанавливает и запускает nginx на всех хостах из группы webservers. Если nginx уже установлен — Ansible ничего не делает (идемпотентность).
Роли и Galaxy
Роль — переиспользуемый набор задач. Ansible Galaxy — репозиторий готовых ролей: 25 000+ готовых решений для nginx, PostgreSQL, Docker и всего остального.
