Ответ
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
Как работает:
- Ansible подключается к хостам из inventory.
- Выполняет задачи последовательно или параллельно.
- Возвращает результат (изменения, ошибки).