Как работает Ansible

«Как работает Ansible» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ansible — это инструмент для автоматизации конфигурации и управления инфраструктурой. Он использует YAML-файлы (playbooks) для описания задач и работает по принципу push (без агентов на целевых хостах).

Ключевые особенности:

  • Идемпотентность — повторный запуск не меняет систему, если она уже в нужном состоянии.
  • SSH — соединение с узлами через SSH (не требует установки агентов).
  • Inventory — файл с перечнем хостов и их группировкой.
  • Модули — готовые команды для задач (например, apt, copy, template).

Пример playbook:

- name: Install Nginx
  hosts: webservers
  tasks:
    - name: Ensure Nginx is installed
      apt:
        name: nginx
        state: present
    - name: Start Nginx service
      service:
        name: nginx
        state: started

Как работает:

  1. Ansible подключается к хостам из inventory.
  2. Выполняет задачи последовательно или параллельно.
  3. Возвращает результат (изменения, ошибки).