Перейти к содержимому

Ansible

Ansible — open-source система автоматизации настройки, deployment и оркестрации. Playbooks на YAML описывают задачи и желаемое состояние удалённых систем; обычно подключение выполняется по SSH без постоянного агента.

Проект распространяется под GPL. Поддерживаются inventory для статических и динамических источников, готовые модули, роли и collections.

  • настройка пакетов, файлов, сервисов и пользователей;
  • идемпотентные модули для повторяемого применения;
  • inventory, groups, variables и templates;
  • роли и collections для переиспользования;
  • ad hoc commands и многохостовая оркестрация;
  • облачные модули и интеграция с provisioning-инструментами;
  • check mode и handlers для контролируемых изменений.

Ansible не хранит Terraform-подобный единый state всей облачной инфраструктуры. Ручные изменения и неидемпотентные shell-команды усложняют повторное применение. Для секретов нужен Ansible Vault или внешний менеджер; SSH-доступ и privilege escalation требуют строгого контроля.

Подходит для настройки существующих VM, установки приложений и оркестрации после provisioning. Terraform/OpenTofu обычно создают ресурсы, Pulumi описывает их на языке программирования, а Ansible приводит систему внутри машины к нужному состоянию.