Skip to main content

Зачем Ansible

Ansible — инструмент конфигурации и автоматизации: установка пакетов, настройка сервисов, деплой приложений на множество хостов. Без агентов (работа по SSH), конфиг — YAML (playbooks, roles). Часто используют вместе с Terraform: Terraform создаёт инфраструктуру, Ansible настраивает ОС и софт.

Ключевые темы

  • Список хостов: inventory (ini, yaml); группы; переменные по группе/хосту.
  • Play: хосты, роли или tasks; task: модуль (apt, copy, template, service) + параметры.
  • ansible-playbook -i inventory playbook.yml
  • Структура: tasks, handlers, templates, vars, defaults; переиспользование через roles:.
  • Управление пакетами, файлами, шаблонами (Jinja2), сервисами, пользователями; idempotency.
  • Ansible Vault для шифрования переменных и файлов; использование в CI.

Пример playbook

- name: Setup web server
  hosts: webservers
  become: yes
  tasks:
    - name: Install nginx
      ansible.builtin.apt:
        name: nginx
        state: present
    - name: Enable and start nginx
      ansible.builtin.service:
        name: nginx
        state: started
        enabled: yes

Что добавить сюда

  • Свои роли (базовый сервер, Docker, мониторинг)
  • Инвентарь для тест/прод
  • Ссылки на документацию и Ansible Galaxy