ansible in the enterprise
TRANSCRIPT
Ansible в enterpriseАлександр Чистяков, главный инженер Git in Sky
29.09.2015SPb Ansible Users Group
Чем мы обычно занимаемся?
● Public web services
● Отличительные особенности:
● Всегда есть подключение к Internet
● Однотипные хосты
● Унифицированное окружение
Что же такое «enterprise»
● IT-инфраструктура является вспомогательнойпо отношению к основной деятельности
● IT-инфраструктура эволюционировала
● Сервера находятся в собственности
● Подключения к Internet может и не быть
● Список сервисов отличается от случая public web
Случай №1
● Инфраструктура не подключена к Internet
● 16+4 машины, кластер Hadoop
● Задачи – настройка и управление этим кластером
● До нас всем этим занимались очень большие ребята
● Большие ребята умеют только “дистрибутивы Hadoop”
● Выбранный “дистрибутив Hadoop” – Cloudera
● Cloudera имеет внутри собственную CM систему
● Конфигурация хранится в БД
● Есть веб-интерфейс управления
Почему «enterprise»?
● Cloudera – %^&^#@!
● Внешние репозитории не имеют смысла
● Все нужные для работы файлы необходимо
предварительно принести внутрь
С какими вызовами столкнулись
● Основные используемые таски – shell, command,
template, copy, file
● Очень много ad-hoc комманд:
● ansible hadoop-hosts -a "supervisorctl status" --sudo
--user ansible
● Надо сказать, что до этого проекта мы ad hoc
выполнение в Ansible не использовали вообще
Особенности работы Ansible
Случай №2
● Компания с несколькими филиалами в разных городах
● SAP, Solaris, много серверов под управлением Linux
● Инфраструктура спроектирована довольно давно
● Задача – взять под контроль и управлять
С какими вызовами столкнулись
● Двух совсем одинаковых серверов нет
● В основе инфраструктуры лежит Gentoo Linux
● Используется несколько VPN на базе OpenVPN и
● Они хитро разделены фаерволами! O_O
● После перезагрузки сервера перестают выполнять
свои функции
Особенности работы Ansible
● Обычно две наши роли “etckeeper” и “common-utils” накатываются на 20-30 серверов за несколько минут
● В этом проекте это заняло две недели
● Таск Ansible “portage” требует установки пакета “equery”
● Пакет “equery” требует более новый Python
● Более новый Python не содержит пакетов, которые
были в старом
● И ТАК ДАЛЕЕ
Особенности работы Ansible
● Широко используются ad hoc команды
● ansible all -a "bash -c 'ping -c 4 169.254.1.74'" --sudo
--user root
● "ansible_distribution_version": "2.2"
● https://en.wikipedia.org/wiki/Gentoo_Linux#Versions -
найдите здесь версию 2.2
Выводы
● Enterprise – потрясающая, нечеловеческая беда
● По возможности, избегайте этого!
● Ansible хорошо помогает бороться с этой заразой
Спасибо за внимание!
● Пожалуйста, ваши вопросы?
● С вами был
● Александр Чистяков, главный инженер, Git in Sky
● http://gitinsky.com
● http://www.meetup.com/Ansible-SPb