SlideShare a Scribd company logo
1 of 77
Download to read offline
Базы данных в Kubernetes
Александр Чистяков
vdsina.ru, евангелист
Очень краткое содержание
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 2 / 77
• Отказ от ответственности
• Зачем?
• План развертывания
• Примеры использования
• Как мы ходили в горы и упали (*)
Отказ от ответственности
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 3 / 77
• Я не психотерапевт и не знаю, можно ли вам
Зачем?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 4 / 77
• Унификация инфраструктуры (WAT?)
Зачем?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 5 / 77
• Унификация инфраструктуры
• (Развертывание, мониторинг, обсервабилити,
управление жизненным циклом)
Зачем?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 6 / 77
• Унификация инфраструктуры
• (Развертывание, мониторинг, обсервабилити,
управление жизненным циклом)
• Антикитерский механизм
Зачем?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 7 / 77
• Унификация инфраструктуры
• (Развертывание, мониторинг, обсервабилити,
управление жизненным циклом)
• Антикитерский механизм
• (Обсудим это позже)
План развертывания - история
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 8 / 77
• Я начал эксперименты в июне 2018-го
План развертывания - история
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 9 / 77
• Я начал эксперименты в июне 2018-го
• В то время логичным выбором был Helm
План развертывания - история
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 10 / 77
• Я начал эксперименты в июне 2018-го
• В то время логичным выбором был Helm
План развертывания - Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 11 / 77
• Найти нужный chart
План развертывания - Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 12 / 77
• Найти нужный chart
• Переопределить нужные values
План развертывания - Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 13 / 77
• Найти нужный chart
• Переопределить нужные values
• Применить
План развертывания - Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 14 / 77
• Найти нужный chart
• Переопределить нужные values
• Применить
• Еще надо где-то хранить состояние (данные)
Где хранить данные?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 15 / 77
• Если вы уже в облаке - храните в облаке
Где хранить данные?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 16 / 77
• Если вы уже в облаке - храните в облаке
• (AWS, Google Cloud)
Где хранить данные?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 17 / 77
• Если вы уже в облаке - храните в облаке
• (AWS, Google Cloud)
• Если on-prem - храните на локальных дисках
Плюсы локальных дисков
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 18 / 77
• Это просто
Плюсы локальных дисков
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 19 / 77
• Это просто
• Не требует создания распределенного
хранилища
Плюсы локальных дисков
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 20 / 77
• Это просто
• Не требует создания распределенного
хранилища
• Не требует дополнительного обслуживания
Минусы локальных дисков
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 21 / 77
• Отказоустойчивость и масштабирование
делаются извне
Минусы локальных дисков
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 22 / 77
• Отказоустойчивость и масштабирование
делаются извне
• Данные хранятся на тех же мощностях, что и
кластер
Минусы локальных дисков
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 23 / 77
• Отказоустойчивость и масштабирование
делаются извне
• Данные хранятся на тех же мощностях, что и
кластер
• В случае потери метаинформации найти, где
было что, очень сложно
Другие варианты on-prem
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 24 / 77
• GlusterFS
Другие варианты on-prem
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 25 / 77
• GlusterFS
• Ceph
Другие варианты on-prem
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 26 / 77
• GlusterFS
• Ceph
• rook.io (Ceph в том же K8s кластере)
Другие варианты on-prem
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 27 / 77
• GlusterFS
• Ceph
• rook.io (Ceph в том же K8s кластере)
• (Последнее я сам не пробовал и советовать
не могу)
Другие варианты on-prem
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 28 / 77
• GlusterFS
• Ceph
• rook.io (Ceph в том же K8s кластере)
• (Последнее я сам не пробовал и советовать
не могу)
• rook.io использует Флант
Helm - Stolon
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 29 / 77
• Stolon - как Patroni, но на Go
Helm - Stolon
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 30 / 77
• Stolon - как Patroni, но на Go
• github.com/alexclear/k8s-stolon-lab
Helm - Patroni
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 31 / 77
• Patroni - как Stolon, но на Python
Helm - Patroni
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 32 / 77
• Patroni - как Stolon, но на Python
• github.com/alexclear/k8s-patroni-lab
Helm - XtraDB
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 33 / 77
• XtraDB - как Galera, но от Percona
Helm - XtraDB
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 34 / 77
• XtraDB - как Galera, но от Percona
• github.com/alexclear/k8s-percona-xtradb-
cluster-lab
Helm - EFK
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 35 / 77
• EFK - как ELK, только без L
Helm - EFK
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 36 / 77
• EFK - как ELK, только без L
• github.com/alexclear/k8s-freehck-efk-lab
А что, если?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 37 / 77
• Если мы хотим делать бэкапы?
А что, если?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 38 / 77
• Если мы хотим делать бэкапы?
• Если мы хотим автоматически экспортировать
дэшборд?
А что, если?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 39 / 77
• Если мы хотим делать бэкапы?
• Если мы хотим автоматически экспортировать
дэшборд?
• Если мы хотим автоматически апргрейдить
минорные версии?
А что, если?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 40 / 77
• Если мы хотим делать бэкапы?
• Если мы хотим автоматически экспортировать
дэшборд?
• Если мы хотим автоматически апргрейдить
минорные версии?
• Пересмотрим план развертывания
План развертывания - не Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 41 / 77
• Оператор = CRD + контроллер
План развертывания - не Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 42 / 77
• Оператор = CRD + контроллер
• CRD позволяет добавить в YAML что-то свое
План развертывания - не Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 43 / 77
• Оператор = CRD + контроллер
• CRD позволяет добавить в YAML что-то свое
• Контроллер управляет жизненным циклом
этого чего-то
План развертывания - не Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 44 / 77
• Оператор = CRD + контроллер
• CRD позволяет добавить в YAML что-то свое
• Контроллер управляет жизненным циклом
этого чего-то
• Контроллер - программа, обычно, на Go
План развертывания - не Helm
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 45 / 77
• Оператор = CRD + контроллер
• CRD позволяет добавить в YAML что-то свое
• Контроллер управляет жизненным циклом
этого чего-то
• Контроллер - программа, обычно, на Go
• (Работает оперейшнс инженером)
План развертывания - операторы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 46 / 77
• В муках найти работающий оператор
План развертывания - операторы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 47 / 77
• В муках найти работающий оператор
• Установить, используя Helm
План развертывания - операторы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 48 / 77
• В муках найти работающий оператор
• Установить, используя Helm
• Наслаждаться использованием CRD
Операторы - Cassandra
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 49 / 77
• github.com/alexclear/vagrant-k8s-freehck-
cassandra-lab
Как выбрать оператор?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 50 / 77
• Попробовать первый
Как выбрать оператор?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 51 / 77
• Попробовать первый
• Работает - не трогать
Как выбрать оператор?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 52 / 77
• Попробовать первый
• Работает - не трогать
• Не работает ни один - починить
Операторы - Redis
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 53 / 77
• github.com/alexclear/vagrant-k8s-freehck-
redis-lab
Операторы - PostgreSQL
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 54 / 77
• github.com/alexclear/vagrant-k8s-freehck-
postgres-lab
Как выбрать оператор?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 55 / 77
• Тот, производителя которого вы знаете
Как выбрать оператор?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 56 / 77
• Тот, производителя которого вы знаете
• Тот, который проще развернуть
Операторы - ClickHouse
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 57 / 77
• Не успел посмотреть, будет через неделю
Какие еще операторы есть?
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 58 / 77
• Тысячи их!
Как мы ходили в горы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 59 / 77
• У нас был кластер K8s с хранилищем на
локальных дисках
Как мы ходили в горы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 60 / 77
• У нас был кластер K8s с хранилищем на
локальных дисках
• В нем EFK на каждой ноде для логов
Как мы ходили в горы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 61 / 77
• У нас был кластер K8s с хранилищем на
локальных дисках
• В нем EFK на каждой ноде для логов
• K8s мастер был один, в виртуалке на
каком-то левом хосте
Как мы ходили в горы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 62 / 77
• У нас был кластер K8s с хранилищем на
локальных дисках
• В нем EFK на каждой ноде для логов
• K8s мастер был один, в виртуалке на
каком-то левом хосте
• Я решил улучшить этот хост путем
переустановки
Как мы ходили в горы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 63 / 77
• У нас был кластер K8s с хранилищем на
локальных дисках
• В нем EFK на каждой ноде для логов
• K8s мастер был один, в виртуалке на
каком-то левом хосте
• Я решил улучшить этот хост путем
переустановки
• Данные было проще забыть, чем
восстановить
И упали
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 64 / 77
• Тот же кластер (версия 2.0), тот же EFK
И упали
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 65 / 77
• Тот же кластер (версия 2.0), тот же EFK
• Напомню, под ElasticSearch на каждой ноде
И упали
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 66 / 77
• Тот же кластер (версия 2.0), тот же EFK
• Напомню, под ElasticSearch на каждой ноде
• Локальные диски, раздел / во весь диск
И упали
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 67 / 77
• Тот же кластер (версия 2.0), тот же EFK
• Напомню, под ElasticSearch на каждой ноде
• Локальные диски, раздел / во весь диск
Шекспир и племянники
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 68 / 77
• Место начинает заканчиваться на какой-то
ноде
Шекспир и племянники
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 69 / 77
• Место начинает заканчиваться на какой-то
ноде
• Достигается high watermark
Шекспир и племянники
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 70 / 77
• Место начинает заканчиваться на какой-то
ноде
• Достигается high watermark
• kubelet гасит ноду целиком
Шекспир и племянники
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 71 / 77
• Место начинает заканчиваться на какой-то
ноде
• Достигается high watermark
• kubelet гасит ноду целиком
• Данные едут на соседнюю ноду
Шекспир и племянники
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 72 / 77
• Место начинает заканчиваться на какой-то
ноде
• Достигается high watermark
• kubelet гасит ноду целиком
• Данные едут на соседнюю ноду
• Бармен, повторите!
Шекспир и племянники
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 73 / 77
• Место начинает заканчиваться на какой-то
ноде
• Достигается high watermark
• kubelet гасит ноду целиком
• Данные едут на соседнюю ноду
• Бармен, повторите!
• Все данные из ES пришлось выкинуть целиком
Постпостмортем
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 74 / 77
• Если вы провижните каталоги с данными с
тех же дисков, где находится kubelet, то вам
будет исключительно весело
Постпостмортем
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 75 / 77
• Если вы провижните каталоги с данными с
тех же дисков, где находится kubelet, то вам
будет исключительно весело
• Исключительно весело вам будет теперь
всегда!
Выводы
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 76 / 77
• Вверх по бесконечной лестнице абстракций
заберутся не только лишь все
• A new study shows that death rates increased
for middle-aged people of all racial and ethnic
groups
That’s all, folks!
Александр Чистяков, vdsina.ru Базы данных в Kubernetes 77 / 77
• alexclear@gmail.com
• https://telegram.me/lhommequipleure
• https://telegram.me/demeliorator_pod

More Related Content

What's hot

SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)Ontico
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Ontico
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Ontico
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годBadoo Development
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)Ontico
 
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanesPavel Emelyanov
 
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Ontico
 
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)Ontico
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Ontico
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupBadoo Development
 
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)Ontico
 
Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Ontico
 
Docker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDocker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDmitry Lazarenko
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooBadoo Development
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Ontico
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)Ontico
 
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Ontico
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
 

What's hot (20)

SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
 
Teach your dockers to use CRanes
Teach your dockers to use CRanesTeach your dockers to use CRanes
Teach your dockers to use CRanes
 
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
Самоорганизующаяся сервисная инфраструктура на базе Docker / Данила Штань (То...
 
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
Пряморукий DNS: делаем правильно / Лев Николаев (Макснет)
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)Мой маленький уютный PaaS / Илья Беда (bro.agency)
Мой маленький уютный PaaS / Илья Беда (bro.agency)
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)DC/OS – больше чем PAAS, Никита Борзых (Express 42)
DC/OS – больше чем PAAS, Никита Борзых (Express 42)
 
Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)Евгений Потапов (Сумма Айти)
Евгений Потапов (Сумма Айти)
 
Docker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDocker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. Swarm
 
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
 
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 

Similar to My slides from DevOps-40 meetup Dec 2019

EPAM DevOps community meetup: Designing bare metal Kubernetes clusters
EPAM DevOps community meetup: Designing bare metal Kubernetes clustersEPAM DevOps community meetup: Designing bare metal Kubernetes clusters
EPAM DevOps community meetup: Designing bare metal Kubernetes clustersKatherine Golovinova
 
SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101Nadzeya Pus
 
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, ЯндексYandex
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиOleg Nenashev
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 
My Open Source (Sept 2017)
My Open Source (Sept 2017)My Open Source (Sept 2017)
My Open Source (Sept 2017)Roman Dvornov
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comOntico
 
Приватный клауд на базе OpenStack
Приватный клауд на базе OpenStackПриватный клауд на базе OpenStack
Приватный клауд на базе OpenStackIlya Alekseyev
 
Open stack в 2ГИС
Open stack в 2ГИСOpen stack в 2ГИС
Open stack в 2ГИСDenis Honig
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
Mysql replication DevConf 2012
Mysql replication DevConf 2012Mysql replication DevConf 2012
Mysql replication DevConf 2012Alex Chistyakov
 
Построение ГИС: Стратегии проектирования системной архитектуры.
Построение ГИС: Стратегии проектирования системной архитектуры.Построение ГИС: Стратегии проектирования системной архитектуры.
Построение ГИС: Стратегии проектирования системной архитектуры.Vitaly Zagorovskiy
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLAlex Chistyakov
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Ontico
 
Построение аналитического хранилища на 100 петабайт
Построение аналитического хранилища на 100 петабайтПостроение аналитического хранилища на 100 петабайт
Построение аналитического хранилища на 100 петабайтAlexander Mazurov
 
«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр КолесеньIT Share
 

Similar to My slides from DevOps-40 meetup Dec 2019 (20)

EPAM DevOps community meetup: Designing bare metal Kubernetes clusters
EPAM DevOps community meetup: Designing bare metal Kubernetes clustersEPAM DevOps community meetup: Designing bare metal Kubernetes clusters
EPAM DevOps community meetup: Designing bare metal Kubernetes clusters
 
SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101SETCON'18 - Vitali Fokin - Kubernetes 101
SETCON'18 - Vitali Fokin - Kubernetes 101
 
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
 
OpenStack сегодня
OpenStack сегодняOpenStack сегодня
OpenStack сегодня
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
My Open Source (Sept 2017)
My Open Source (Sept 2017)My Open Source (Sept 2017)
My Open Source (Sept 2017)
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.com
 
Приватный клауд на базе OpenStack
Приватный клауд на базе OpenStackПриватный клауд на базе OpenStack
Приватный клауд на базе OpenStack
 
My slides from CC'2019
My slides from CC'2019My slides from CC'2019
My slides from CC'2019
 
Open stack в 2ГИС
Open stack в 2ГИСOpen stack в 2ГИС
Open stack в 2ГИС
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
Mysql replication DevConf 2012
Mysql replication DevConf 2012Mysql replication DevConf 2012
Mysql replication DevConf 2012
 
Построение ГИС: Стратегии проектирования системной архитектуры.
Построение ГИС: Стратегии проектирования системной архитектуры.Построение ГИС: Стратегии проектирования системной архитектуры.
Построение ГИС: Стратегии проектирования системной архитектуры.
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQL
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
 
Построение аналитического хранилища на 100 петабайт
Построение аналитического хранилища на 100 петабайтПостроение аналитического хранилища на 100 петабайт
Построение аналитического хранилища на 100 петабайт
 
«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень«​Масштабируемый DevOps​» Александр Колесень
«​Масштабируемый DevOps​» Александр Колесень
 
Масштабируемый DevOps
Масштабируемый DevOpsМасштабируемый DevOps
Масштабируемый DevOps
 

More from Alex Chistyakov

My slides from DevOpsDays 2019
My slides from DevOpsDays 2019My slides from DevOpsDays 2019
My slides from DevOpsDays 2019Alex Chistyakov
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 Alex Chistyakov
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018Alex Chistyakov
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtAlex Chistyakov
 
My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019Alex Chistyakov
 
Configuration management and Kubernetes
Configuration management and KubernetesConfiguration management and Kubernetes
Configuration management and KubernetesAlex Chistyakov
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017Alex Chistyakov
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMAlex Chistyakov
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10Alex Chistyakov
 
My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017Alex Chistyakov
 
My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017Alex Chistyakov
 
My talk at DevParty 2017
My talk at DevParty 2017My talk at DevParty 2017
My talk at DevParty 2017Alex Chistyakov
 

More from Alex Chistyakov (20)

My slides from DevOpsDays 2019
My slides from DevOpsDays 2019My slides from DevOpsDays 2019
My slides from DevOpsDays 2019
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArt
 
My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019
 
Configuration management and Kubernetes
Configuration management and KubernetesConfiguration management and Kubernetes
Configuration management and Kubernetes
 
Ansible and other stuff
Ansible and other stuffAnsible and other stuff
Ansible and other stuff
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGM
 
My talk at SECR 2017
My talk at SECR 2017My talk at SECR 2017
My talk at SECR 2017
 
On scaling teams
On scaling teamsOn scaling teams
On scaling teams
 
MariaDB workshop
MariaDB workshopMariaDB workshop
MariaDB workshop
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10
 
My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017
 
My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017
 
My talk at DevParty 2017
My talk at DevParty 2017My talk at DevParty 2017
My talk at DevParty 2017
 

My slides from DevOps-40 meetup Dec 2019

  • 1. Базы данных в Kubernetes Александр Чистяков vdsina.ru, евангелист
  • 2. Очень краткое содержание Александр Чистяков, vdsina.ru Базы данных в Kubernetes 2 / 77 • Отказ от ответственности • Зачем? • План развертывания • Примеры использования • Как мы ходили в горы и упали (*)
  • 3. Отказ от ответственности Александр Чистяков, vdsina.ru Базы данных в Kubernetes 3 / 77 • Я не психотерапевт и не знаю, можно ли вам
  • 4. Зачем? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 4 / 77 • Унификация инфраструктуры (WAT?)
  • 5. Зачем? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 5 / 77 • Унификация инфраструктуры • (Развертывание, мониторинг, обсервабилити, управление жизненным циклом)
  • 6. Зачем? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 6 / 77 • Унификация инфраструктуры • (Развертывание, мониторинг, обсервабилити, управление жизненным циклом) • Антикитерский механизм
  • 7. Зачем? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 7 / 77 • Унификация инфраструктуры • (Развертывание, мониторинг, обсервабилити, управление жизненным циклом) • Антикитерский механизм • (Обсудим это позже)
  • 8. План развертывания - история Александр Чистяков, vdsina.ru Базы данных в Kubernetes 8 / 77 • Я начал эксперименты в июне 2018-го
  • 9. План развертывания - история Александр Чистяков, vdsina.ru Базы данных в Kubernetes 9 / 77 • Я начал эксперименты в июне 2018-го • В то время логичным выбором был Helm
  • 10. План развертывания - история Александр Чистяков, vdsina.ru Базы данных в Kubernetes 10 / 77 • Я начал эксперименты в июне 2018-го • В то время логичным выбором был Helm
  • 11. План развертывания - Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 11 / 77 • Найти нужный chart
  • 12. План развертывания - Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 12 / 77 • Найти нужный chart • Переопределить нужные values
  • 13. План развертывания - Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 13 / 77 • Найти нужный chart • Переопределить нужные values • Применить
  • 14. План развертывания - Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 14 / 77 • Найти нужный chart • Переопределить нужные values • Применить • Еще надо где-то хранить состояние (данные)
  • 15. Где хранить данные? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 15 / 77 • Если вы уже в облаке - храните в облаке
  • 16. Где хранить данные? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 16 / 77 • Если вы уже в облаке - храните в облаке • (AWS, Google Cloud)
  • 17. Где хранить данные? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 17 / 77 • Если вы уже в облаке - храните в облаке • (AWS, Google Cloud) • Если on-prem - храните на локальных дисках
  • 18. Плюсы локальных дисков Александр Чистяков, vdsina.ru Базы данных в Kubernetes 18 / 77 • Это просто
  • 19. Плюсы локальных дисков Александр Чистяков, vdsina.ru Базы данных в Kubernetes 19 / 77 • Это просто • Не требует создания распределенного хранилища
  • 20. Плюсы локальных дисков Александр Чистяков, vdsina.ru Базы данных в Kubernetes 20 / 77 • Это просто • Не требует создания распределенного хранилища • Не требует дополнительного обслуживания
  • 21. Минусы локальных дисков Александр Чистяков, vdsina.ru Базы данных в Kubernetes 21 / 77 • Отказоустойчивость и масштабирование делаются извне
  • 22. Минусы локальных дисков Александр Чистяков, vdsina.ru Базы данных в Kubernetes 22 / 77 • Отказоустойчивость и масштабирование делаются извне • Данные хранятся на тех же мощностях, что и кластер
  • 23. Минусы локальных дисков Александр Чистяков, vdsina.ru Базы данных в Kubernetes 23 / 77 • Отказоустойчивость и масштабирование делаются извне • Данные хранятся на тех же мощностях, что и кластер • В случае потери метаинформации найти, где было что, очень сложно
  • 24. Другие варианты on-prem Александр Чистяков, vdsina.ru Базы данных в Kubernetes 24 / 77 • GlusterFS
  • 25. Другие варианты on-prem Александр Чистяков, vdsina.ru Базы данных в Kubernetes 25 / 77 • GlusterFS • Ceph
  • 26. Другие варианты on-prem Александр Чистяков, vdsina.ru Базы данных в Kubernetes 26 / 77 • GlusterFS • Ceph • rook.io (Ceph в том же K8s кластере)
  • 27. Другие варианты on-prem Александр Чистяков, vdsina.ru Базы данных в Kubernetes 27 / 77 • GlusterFS • Ceph • rook.io (Ceph в том же K8s кластере) • (Последнее я сам не пробовал и советовать не могу)
  • 28. Другие варианты on-prem Александр Чистяков, vdsina.ru Базы данных в Kubernetes 28 / 77 • GlusterFS • Ceph • rook.io (Ceph в том же K8s кластере) • (Последнее я сам не пробовал и советовать не могу) • rook.io использует Флант
  • 29. Helm - Stolon Александр Чистяков, vdsina.ru Базы данных в Kubernetes 29 / 77 • Stolon - как Patroni, но на Go
  • 30. Helm - Stolon Александр Чистяков, vdsina.ru Базы данных в Kubernetes 30 / 77 • Stolon - как Patroni, но на Go • github.com/alexclear/k8s-stolon-lab
  • 31. Helm - Patroni Александр Чистяков, vdsina.ru Базы данных в Kubernetes 31 / 77 • Patroni - как Stolon, но на Python
  • 32. Helm - Patroni Александр Чистяков, vdsina.ru Базы данных в Kubernetes 32 / 77 • Patroni - как Stolon, но на Python • github.com/alexclear/k8s-patroni-lab
  • 33. Helm - XtraDB Александр Чистяков, vdsina.ru Базы данных в Kubernetes 33 / 77 • XtraDB - как Galera, но от Percona
  • 34. Helm - XtraDB Александр Чистяков, vdsina.ru Базы данных в Kubernetes 34 / 77 • XtraDB - как Galera, но от Percona • github.com/alexclear/k8s-percona-xtradb- cluster-lab
  • 35. Helm - EFK Александр Чистяков, vdsina.ru Базы данных в Kubernetes 35 / 77 • EFK - как ELK, только без L
  • 36. Helm - EFK Александр Чистяков, vdsina.ru Базы данных в Kubernetes 36 / 77 • EFK - как ELK, только без L • github.com/alexclear/k8s-freehck-efk-lab
  • 37. А что, если? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 37 / 77 • Если мы хотим делать бэкапы?
  • 38. А что, если? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 38 / 77 • Если мы хотим делать бэкапы? • Если мы хотим автоматически экспортировать дэшборд?
  • 39. А что, если? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 39 / 77 • Если мы хотим делать бэкапы? • Если мы хотим автоматически экспортировать дэшборд? • Если мы хотим автоматически апргрейдить минорные версии?
  • 40. А что, если? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 40 / 77 • Если мы хотим делать бэкапы? • Если мы хотим автоматически экспортировать дэшборд? • Если мы хотим автоматически апргрейдить минорные версии? • Пересмотрим план развертывания
  • 41. План развертывания - не Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 41 / 77 • Оператор = CRD + контроллер
  • 42. План развертывания - не Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 42 / 77 • Оператор = CRD + контроллер • CRD позволяет добавить в YAML что-то свое
  • 43. План развертывания - не Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 43 / 77 • Оператор = CRD + контроллер • CRD позволяет добавить в YAML что-то свое • Контроллер управляет жизненным циклом этого чего-то
  • 44. План развертывания - не Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 44 / 77 • Оператор = CRD + контроллер • CRD позволяет добавить в YAML что-то свое • Контроллер управляет жизненным циклом этого чего-то • Контроллер - программа, обычно, на Go
  • 45. План развертывания - не Helm Александр Чистяков, vdsina.ru Базы данных в Kubernetes 45 / 77 • Оператор = CRD + контроллер • CRD позволяет добавить в YAML что-то свое • Контроллер управляет жизненным циклом этого чего-то • Контроллер - программа, обычно, на Go • (Работает оперейшнс инженером)
  • 46. План развертывания - операторы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 46 / 77 • В муках найти работающий оператор
  • 47. План развертывания - операторы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 47 / 77 • В муках найти работающий оператор • Установить, используя Helm
  • 48. План развертывания - операторы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 48 / 77 • В муках найти работающий оператор • Установить, используя Helm • Наслаждаться использованием CRD
  • 49. Операторы - Cassandra Александр Чистяков, vdsina.ru Базы данных в Kubernetes 49 / 77 • github.com/alexclear/vagrant-k8s-freehck- cassandra-lab
  • 50. Как выбрать оператор? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 50 / 77 • Попробовать первый
  • 51. Как выбрать оператор? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 51 / 77 • Попробовать первый • Работает - не трогать
  • 52. Как выбрать оператор? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 52 / 77 • Попробовать первый • Работает - не трогать • Не работает ни один - починить
  • 53. Операторы - Redis Александр Чистяков, vdsina.ru Базы данных в Kubernetes 53 / 77 • github.com/alexclear/vagrant-k8s-freehck- redis-lab
  • 54. Операторы - PostgreSQL Александр Чистяков, vdsina.ru Базы данных в Kubernetes 54 / 77 • github.com/alexclear/vagrant-k8s-freehck- postgres-lab
  • 55. Как выбрать оператор? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 55 / 77 • Тот, производителя которого вы знаете
  • 56. Как выбрать оператор? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 56 / 77 • Тот, производителя которого вы знаете • Тот, который проще развернуть
  • 57. Операторы - ClickHouse Александр Чистяков, vdsina.ru Базы данных в Kubernetes 57 / 77 • Не успел посмотреть, будет через неделю
  • 58. Какие еще операторы есть? Александр Чистяков, vdsina.ru Базы данных в Kubernetes 58 / 77 • Тысячи их!
  • 59. Как мы ходили в горы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 59 / 77 • У нас был кластер K8s с хранилищем на локальных дисках
  • 60. Как мы ходили в горы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 60 / 77 • У нас был кластер K8s с хранилищем на локальных дисках • В нем EFK на каждой ноде для логов
  • 61. Как мы ходили в горы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 61 / 77 • У нас был кластер K8s с хранилищем на локальных дисках • В нем EFK на каждой ноде для логов • K8s мастер был один, в виртуалке на каком-то левом хосте
  • 62. Как мы ходили в горы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 62 / 77 • У нас был кластер K8s с хранилищем на локальных дисках • В нем EFK на каждой ноде для логов • K8s мастер был один, в виртуалке на каком-то левом хосте • Я решил улучшить этот хост путем переустановки
  • 63. Как мы ходили в горы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 63 / 77 • У нас был кластер K8s с хранилищем на локальных дисках • В нем EFK на каждой ноде для логов • K8s мастер был один, в виртуалке на каком-то левом хосте • Я решил улучшить этот хост путем переустановки • Данные было проще забыть, чем восстановить
  • 64. И упали Александр Чистяков, vdsina.ru Базы данных в Kubernetes 64 / 77 • Тот же кластер (версия 2.0), тот же EFK
  • 65. И упали Александр Чистяков, vdsina.ru Базы данных в Kubernetes 65 / 77 • Тот же кластер (версия 2.0), тот же EFK • Напомню, под ElasticSearch на каждой ноде
  • 66. И упали Александр Чистяков, vdsina.ru Базы данных в Kubernetes 66 / 77 • Тот же кластер (версия 2.0), тот же EFK • Напомню, под ElasticSearch на каждой ноде • Локальные диски, раздел / во весь диск
  • 67. И упали Александр Чистяков, vdsina.ru Базы данных в Kubernetes 67 / 77 • Тот же кластер (версия 2.0), тот же EFK • Напомню, под ElasticSearch на каждой ноде • Локальные диски, раздел / во весь диск
  • 68. Шекспир и племянники Александр Чистяков, vdsina.ru Базы данных в Kubernetes 68 / 77 • Место начинает заканчиваться на какой-то ноде
  • 69. Шекспир и племянники Александр Чистяков, vdsina.ru Базы данных в Kubernetes 69 / 77 • Место начинает заканчиваться на какой-то ноде • Достигается high watermark
  • 70. Шекспир и племянники Александр Чистяков, vdsina.ru Базы данных в Kubernetes 70 / 77 • Место начинает заканчиваться на какой-то ноде • Достигается high watermark • kubelet гасит ноду целиком
  • 71. Шекспир и племянники Александр Чистяков, vdsina.ru Базы данных в Kubernetes 71 / 77 • Место начинает заканчиваться на какой-то ноде • Достигается high watermark • kubelet гасит ноду целиком • Данные едут на соседнюю ноду
  • 72. Шекспир и племянники Александр Чистяков, vdsina.ru Базы данных в Kubernetes 72 / 77 • Место начинает заканчиваться на какой-то ноде • Достигается high watermark • kubelet гасит ноду целиком • Данные едут на соседнюю ноду • Бармен, повторите!
  • 73. Шекспир и племянники Александр Чистяков, vdsina.ru Базы данных в Kubernetes 73 / 77 • Место начинает заканчиваться на какой-то ноде • Достигается high watermark • kubelet гасит ноду целиком • Данные едут на соседнюю ноду • Бармен, повторите! • Все данные из ES пришлось выкинуть целиком
  • 74. Постпостмортем Александр Чистяков, vdsina.ru Базы данных в Kubernetes 74 / 77 • Если вы провижните каталоги с данными с тех же дисков, где находится kubelet, то вам будет исключительно весело
  • 75. Постпостмортем Александр Чистяков, vdsina.ru Базы данных в Kubernetes 75 / 77 • Если вы провижните каталоги с данными с тех же дисков, где находится kubelet, то вам будет исключительно весело • Исключительно весело вам будет теперь всегда!
  • 76. Выводы Александр Чистяков, vdsina.ru Базы данных в Kubernetes 76 / 77 • Вверх по бесконечной лестнице абстракций заберутся не только лишь все • A new study shows that death rates increased for middle-aged people of all racial and ethnic groups
  • 77. That’s all, folks! Александр Чистяков, vdsina.ru Базы данных в Kubernetes 77 / 77 • alexclear@gmail.com • https://telegram.me/lhommequipleure • https://telegram.me/demeliorator_pod