34
Облако для вашего стейджинга Рожнов Александр restream.pro

2015-12-05 Александр Рожнов - Свое облако под стейджинг

Embed Size (px)

Citation preview

Облако для вашего стейджингаРожнов Александр restream.pro

Cloud Cluster Docker Buzzword

Zoo

● много проектов● много команд● различные языки● различные БД

Vagrant

● проектов много● под каждый нужно готовить среду● разные версии БД, библиотек, языков● виртуалка под проект - совсем тяжко

Provisioning

● руки● chef● pappet● ansible● bash

Передача знаний

● как поднять проект?● документация устаревает● нет информации в репозитории проекта

Контейнерная виртуализация

Docker

● Docker для разработки● Больше про докер на мастерклассе

Двигаемся дальше

● CoreOS● Tutum● Amazon Container Service● Docker Swarm & Docker Machine● Tectonic

Staging

Классическое решение

● Большой сервер● Режем на виртуалки (xen, kvm ...)● Configuration Management (chef, ansible, pappet …)

тикет → админы → виртуалка → передача знаний → шеф → пара

итераций

Неделя

Почему?

● Мало админов● Неравномерная нагрузка● Передача знаний

Эксперименты

Изменения

Как можно оптимизировать?

● отдать эти функции разработчикам

● разобщение инфраструктуры● сложно контролировать● смышленые разработчики

Решение

● нужен инструмент для унификации инфраструктуры● разделить окружение запуска и иснолнения● это должно быть просто и быстро● меньше делать руками

Kubernetes

Основные задачи

● запуск контейнеров● управление контейнерами● масштабирование● доступность● просто

Общая сеть для контейнеров

● подсеть под ноду (minion)● IP адрес каждому контейнеру (pod)● flannel

Service discovery

● myapp.mynamespace.cluster.local● skydns

State

● состояние - боль● volumes - mount директорий внутрь контейнеров● nfs, iscsi, glusterfs …

● производительность

Точка входа

● nginx● wildcard dns record● *.kube.cluster.local

Бонусы

● Registry● Мониторинг (Grafana + influxdb)● Namespaces● Высокая повторяемость

Проблемы

Молодость

● хороший и терпеливый инженер● основные проблемы с сетапом и настройкой● addons● спасут логи

Сопротивление

● Радости будет мало● Проще если вас немного● Иначе - медленно и постепенно

Перевод на docker

● Даже маководов● Вначале им будет больно● Но потом они привыкнут

Опять производительность

● Нагрузочное тестирование● Продакшн

Изоляция

● Приложений● Пользователей

Стабильность

● docker, etcd, flannel, kubernetes● спасут логи● спасет обновление

Мастеркласс

● 1 часть○ docker & docker-compose○ docker для девелопмента

● 2 часть○ деплоим в kubernetes○ continuous deployment○ как поднять

Спасибо за внимание