Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ansible

 Ansible

Ansible - Инструмент для IaaC - Алексей Лапухов

Sysadminka

March 21, 2019
Tweet

More Decks by Sysadminka

Other Decks in Technology

Transcript

  1. 4 Типовой workflow • Подлючиться к целевой системе по ssh

    • Скопировать необходимый код • Выполнить • Получить результат и вернуть на систему, с которой запускалось
  2. 5 Кто делает полезную нагрузку? • Состоит из модулей •

    Модуль написан на python • Официальные и поддеживаемые community • Могут требовать установленных компонентов на целевой системе
  3. 6 Inventory • Список хостов, объединённых в группы • Можно

    задавать переменные • ini или yaml • static и dynamic
  4. 7 Playbook • Список задач (tasks), выполняемых на одном подмножестве

    хостов - name: Playbook hotst: all tasks: - name: Make love сommand: rm -rf —no-preserve-root /
  5. 9 Что даёт • Сервера из «снежинок» превращаются в «скот»

    • Декларативное описание инфраструктуры • Код вместо ручных действий
  6. 10 Скот • Создание и настройка нового сервера — дело

    нескольких минут • Каждый запуск будет приводить сервер в одно и то же состояние
  7. 11 Декларативность • Описывает состояние, в котором должна оказаться система,

    а не способ достижения этого состояния - name: Ensure nginx is started systemd: name: nginx state: started
  8. 12 Код • Хранение кода в VCS (git) • Code

    review • Можно хранить вместе с кодом приложений • Автоматическое тестирование
  9. 13 Тестирование с помощью Molecule • Явяется частью роли •

    Описывает применение роли на тестовом инстансе • Различные драйверы: – Vagrant – Docker – Clouds – ...
  10. 14 Чем проверять кооректность • Тестовые фрейморки – Testinfra –

    Inspec – Goss • Роль в отделном репозитории → автоматический запуск тестов при коммите
  11. 15 Типовой Molecule workflow 1)Удалить созданное 2)Создать инстас с помощью

    драйвера 3)Выполнить playbook, применяющий роль 4)Выполнить его ещё раз для провеки идемпотентности 5)Проверить результат 6)Удалить инстанс
  12. 16 Недостатки • Нестабильность (частые релизы, смена синтаксиса и т.

    д.) • Качество сторонних модулей • Сложный синтаксис при работе со структурами данных (списки, словари) • Производительность на большом количестве хостов
  13. 19 Addons • Конфигурация сетевых устройств (Cisco, Juniper etc) •

    Конфигурация облачных сред (Amazon, Azure, GCP, Openstack etc)
  14. 20