docker: from understanding to production
Post on 08-Jul-2015
139 Views
Preview:
DESCRIPTION
TRANSCRIPT
Docker в Badoo:"от восторгов к внедрению
Антон ТурецкийСистемный инженер, Badoo7
@tyrchenok
Содержание• Восторг и ожидания7• Подготовка инфраструктуры7• Ключевые узлы Docker7• Puppet: от прототипа до конвейра7• Сборка образов Docker7• Deploy сервиса с точки зрения эксплуатации7• Docker: мониторинг (Илья Раудсепп)7• “Грабли”: как без них?7• Чего не хватает для счастья в Docker?7• Заключение
Восторг и ожидания7
• Как всё круто в первом приближении7
• Очень хочется попробовать7
• С чего начать?7
• Ожидания7
• Реальность
Конcервативный SLES7
• Linux kernel version “3.8” or above != “3.0.101-0.40.1”7• обновление util-linux, coreutils7• обновление iptables, iproute27
• Выбор “Storage Driver”7• Device mapper + ext47• BTRFS7
• Изменение Partitioning Table
Docker Host
Docker Registry
• Зачем он нужен?7
• Почему не DockerHub?7
• Немного подробностей
Puppet: от одного ко многим
• +1 модуль: - ставим нужные пакеты (docker, kernel, e2fsprogs … )- cgroup_enable=memory swapaccount=1 - LVM changes, BTRFS7
• Docker:7• base package, settings7• init script (да, тут еще нет systemd)7• вспомогательные скрипты
Сборка образов для Docker
Роль Puppet• Поддержка BUILD environment7
• Сборка образов и оповещение о результатах7
• Своевременный PUSH образа в Registry7
• Своевременный PULL образа на Docker Host7
• Поддержание чистоты и порядка на Docker Hosts7
• удаление ненужных образов/контейнеров7
• формирование команд для запуска контейнеров
“Плавный” перезапуск сервиса
• Добавим балансировщик по вкусу7• Используем key => value storage7• confd: наполняем по
шаблону7• Не трогаем “внешнюю” сеть7• не нужно трогать dns7• не нужно трогать dhcp7• …
Docker monitoring: слово Илье
“Грабли”: как без них?7
• NF conntrack7
• device mapper + ext4 as storage backend7
• VOLUME mapping
Чего не хватает для счастья?
• Централизованный мониторинг Docker Hosts7
• Централизованного управления хостами/сервисами7
• Более тесной интеграции с 7
• weave7
• Open VSwitch
Заключение
• ”Уплотнили” количество сервисов в расчете на сервер7
• Построили избыточную карту сервисов7
• Построили систему сборки образов7
• Получили гарантию работы сервиса любой ранее работающей версии в
любой момент времени
Спасибо
Useful Links
#codefest2014 #Puppet : goo.gl/dG0hJD7#hl2012 #Puppet : http://goo.gl/5FNwuD
Вопросы?Антон Турецкий
a.turetsky@corp.badoo.com7@tyrchenok7@BadooDev 7
http://habrahabr.ru/company/badoo/
top related