← Ко всем open source проектам

Ansible

ansible/ansible

Ansible — платформа автоматизации инфраструктуры: настройка серверов, развертывание, сетевые изменения и управление через SSH без агентов на узлах.

Форки 24,099
Автор ansible
Язык Python
Лицензия GPL-3.0
Обновлено 2026-06-20

Что это такое

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

Репозиторий существует с 2012 года, основной язык — Python, лицензия — GPL-3.0. Проект связан с Red Hat и имеет большую документацию, сообщество и правила вклада.

Что внутри

Внутри — ядро ansible-core, модули, тесты, документация для разработчиков, правила кодирования, сведения о ветках и дорожная карта. Пользовательская модель строится вокруг inventory, playbook и модулей.

Пример playbook

Синтаксис YAML не подсвечивается отдельным ключом на сайте, поэтому пример показан как текст: задача описывает желаемое состояние сервера.

Язык: Plain text
- hosts: web
  tasks:
    - name: Install nginx
      package:
        name: nginx
        state: present

Как это используют

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

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

Детали проекта

Ansible хорош там, где инфраструктурные изменения должны быть понятны не только одному администратору. Playbook можно прочитать, обсудить в pull request и повторить на нескольких окружениях без ручного списка команд.

Отсутствие агента на управляемых узлах — важная часть дизайна. Команда работает через SSH и модули, поэтому старт часто проще, чем у систем, требующих заранее поставить постоянный сервис на каждый сервер.

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

Сильные стороны и ограничения

Ограничение — автоматизация усиливает и хорошие, и плохие решения. Неправильный playbook может быстро разнести ошибку на много узлов, поэтому нужны тесты, маленькие изменения и аккуратные окружения.

Ansible важен как зрелый проект инфраструктурной автоматизации: он стал одним из стандартных способов описывать операционную работу как код.

Контекст