@kubernetes_ru

Страница 930 из 958
Yaros
20.10.2018
19:21:19
всем привет, есть такая проблема: есть набор сервисов, A, B1, C1, D1. Есть их другая версия, с другой конфигурацией немного: B2, C2, D2. Логинятся все через сервис A после чего он помимо логина может вернуть адреса либо сервисов B1, C1, D1, либо адреса B2, C2, D2 в зависимости от того, кто залогинился. По сути этот сервис просто читает эту информацию из таблицы в базе данных, где написано, что юзер1 - B1 а вот юзер2 - В2. Разумеется версий сервисов может быть больше и нужно постоянно конфигурить кто и куда обращается по каким логинам. Как эту конфигурацию правильно привязать к версиям сервисов в кубернете? Мы сейчас мигрируем инфраструктуру туда и думаем как это сделать правильно. Потому, что все брать из этого сервиса А кажется вообще неверным.

Извиняюсь за стену текста, на вопросы по тексту отвечу.

возможно это не относится к кубернету напрямую, но сюда поместил, так как думал, что решается чем-то типа консула или чего-то подобного.

Google
Alexey
20.10.2018
19:43:33
похоже на traffic shifting в istio
стикер под istio ещё не завезли...

Yaros
20.10.2018
19:43:45
@volarenege и как это решает проблему? Ну то есть как ингресс поможет отправлять определенным образом залогиненых клиентов к определенным сервисам? Кто хранит соответствие это между урлом и сервисом?

Alexey
20.10.2018
19:44:06
Если не болит, если ли смысл пробовать istio, станет проще жить?

Yaros
20.10.2018
19:44:29
@vrutkovs чекаю istio, спасибо за наводку ?

Alexey
20.10.2018
19:45:21
в чем проблема делать /pathB1 /pathC1 /pathD2 ?

Yaros
20.10.2018
19:46:42
@alexesDev не совсем понял, там же один и тот же клиент подключается к сервису А

Yaros
20.10.2018
19:46:52
кто его разводит на то, к какому сервису ему дальше идти?

Эдуард
20.10.2018
19:46:59
только самописюкать

Yaros
20.10.2018
19:47:56
а кто синхронизирует деплои версий других сервисов и обновляет урлы в А?

Alexey
20.10.2018
19:48:26
Google
Alexey
20.10.2018
19:49:19
multi tenancy это жеж?

Yaros
20.10.2018
19:49:59
@alexesDev сейчас так: деплоим сервисы В1 и В2, берем их урлы, этим юзерам прописываем в базе В1, а вот этим В2. Все это руками, благо деплои не так часты. Периодически это путает кто-то из админов и все валится. Думаем как уйти от этого переезжая на к8, а то странно, что также все руками делать

@alexesDev но идейно да, сделаем на каждый деплой сервис со своим урлом и засунем их в базу. Это план на сейчас такой.

@alexesDev да-да, наш убойный мультитенанси ?

Alexey
20.10.2018
19:51:41
ну пользователей вы руками делите на 1 и 2? Ну и деплой будет так же... или нужно делить автоматом и уже деплой будет дальше так же.

Я плохо знаю эту сторону, но похоже вам в сторону своего оператора идти...

Yaros
20.10.2018
19:53:34
Да, руками делим и это порождает ошибки, разумеется. А что за свой оператор такой?

Alexey
20.10.2018
19:54:48
Да, руками делим и это порождает ошибки, разумеется. А что за свой оператор такой?
Операторы (operators) — это вспомогательное ПО для Kubernetes, призванное автоматизировать выполнение рутинных действий над объектами кластера при определённых событиях

на практике я этого не делал, а тема интересная. По запросу multi tenant kubernetes много чего есть

Yaros
20.10.2018
19:59:26
@alexesDev спасибо, буду гуглить! уже смотрю на istio и вот это нашел, вдруг кому полезно будет: https://www.youtube.com/watch?v=xygE8DbwJ7c

Alexey
20.10.2018
20:03:19
Я бы попробовал что-то попроще k8s вроде nomad (просто, чтобы удобно было оркестрировать) + виртуалка на клиента. Меньше шансов ошибиться. Цена таких ошибок в B2B крайне высока.

Yaros
20.10.2018
20:07:05
у выбора нет, уже к8s и rancher

Psy
20.10.2018
20:21:12
Хмм авито упаковывают мускул базу в мускул контейнер для dev/stage (насколько я помню из доклад) А чем плохо то?
Вполне гуд вариант, если нужно запустить, прогнать тесты, совершить над базой групповое изнасилование и прибить. Но у человека как я понял другая задача

ал
20.10.2018
20:30:15
По увядшей листве?

Мы идём в тишине
20.10.2018
20:32:48
▫️Какой у вас проект или где работаете? Bizzabo - event management platform. ▫️В чём вы специалист? Node, frontend, Docker ▫️Чем можете быть интересны или полезны сообществу? Задаю нубовские вопросы. ▫️Чем интересно сообщество вам? Недавно стал осваивать k8s, может пригодиться помощь бывалых девопсов. ▫️Откуда вы? Харьков, Украина ▫️Как узнали про группу? Предположил, что такая существует, ну и через поиск Телеграм в этом убедился. В сообщении нужно указать тэг #whois

По увядшей листве?
По разбитым очкам

ал
20.10.2018
20:35:24
По разбитым очкам
подожди, но там не было увядшей листвы ?

Мы идём в тишине
20.10.2018
20:36:29
Да не было, не было

Но основной посыл ясен, ты тоже в теме, что это цитата из песни

Google
Мы идём в тишине
20.10.2018
20:38:42
лукич жив!
Радует также, что не считаешь автором Летова. Точно шаришь

Нас тут за оффтоп не того?

ал
20.10.2018
20:40:20
да, для оффтопа надо в devops_jobs, тут вроде лучше не разводить

Timur
20.10.2018
20:41:19
Надо послушать Лукича, как-то он мимо меня прошел совсем...

Yaros
20.10.2018
20:46:53
@alexesDev а что не так с istio? я что-то смотрю демку на катакоде и просто кажется очень крутой. Какие подводные камни\проблемы при работе с реальными приложениями?

Vadim
20.10.2018
20:48:41
Это как с базами - все боятся и ждут фиксов

Vadim
20.10.2018
20:49:23
На прошлом кубконе был доклад про енвой - это + ~10мс к лейтенси

Yaros
20.10.2018
20:50:02
+10 мс к каждой коммуникации между сервисами? Или вообще +10?

Vadim
20.10.2018
20:52:01
Судя по всему к любым, но тут YMMV

Yaros
20.10.2018
20:53:19
я уточнил, так как читал вчера-сегодня их доки и презентации смотрел и они говорят что ох как же они быстры! Поэтому ко всему +10мс как-то сурово ...

Vadim
20.10.2018
20:54:17
Это год назад было, может допилили

Dmytro
21.10.2018
06:06:12
Да, руками делим и это порождает ошибки, разумеется. А что за свой оператор такой?
А расскажите как это выглядит в плане урлов? Для юзера1 и юзера2 урлы к B1 и B2 одинаковые или разные? Стало интересно

Vasiliy
21.10.2018
06:27:17
patroni /thread
@Andorka @anti_on @j3qq4_h7h2v_2hch4_m3hk8_6m8vw Парни, я тут немного слоупочу А что вы думаете про postgresql-operator против патронов ?

Stanislav
21.10.2018
06:29:54
меня можно не спрашивать - просто не думал на эту тему

Anton
21.10.2018
06:40:14
@Andorka @anti_on @j3qq4_h7h2v_2hch4_m3hk8_6m8vw Парни, я тут немного слоупочу А что вы думаете про postgresql-operator против патронов ?
Патрони не пользовал, и не хочется, юзаю stolon, хочется отзывы об операторе и kubedb

Vasiliy
21.10.2018
06:41:56
да я вот тоже почитал про операторы и загорелся идеей закинуть это дело в кубер. Может получится протащить против идеи про выделенные БД :)

Google
Alexey
21.10.2018
07:49:20
Anton
21.10.2018
08:09:32
Andor
21.10.2018
08:11:13
Столон

Или всё ещё говорят "делайте пул в приложении"?

Anton
21.10.2018
08:16:00
Нет пула, да и в целом к кубу гвоздями прибивается

Lucky SB
21.10.2018
08:26:57
Соткой и насквозь?

Я тут постгрес оператора от кранчи посмтрел... жалкое зрелище

Andrey
21.10.2018
08:28:02
Я тут постгрес оператора от кранчи посмтрел... жалкое зрелище
Kubedb не лучше, в принципе. Мы его щас тестируем и готовим список тасков на допиливание.

Alexey
21.10.2018
08:28:22
есть еще от zalando оператор

Lucky SB
21.10.2018
08:31:07
Те же чарты с инит скриптами. Вид сбоку

Andrey
21.10.2018
08:32:36
Заметил что данная беда случается с k8s 1.12 и версией докера 17.03. Завтра дома попробую с более новой версией докера проверить
Я как раз планировал свою песочницу до 1.12 обновлять, вот и попробую воспроизвести. Только у меня докер 18.06, планирую помаленьку вкатываться в crio/containerd. Кстати, кто какие отзывы может дать о работе альтернативных рантаймов в продакшене?

Anton
21.10.2018
08:35:15
Я тут постгрес оператора от кранчи посмтрел... жалкое зрелище
Я пока доки кранчи поковырял, там многое ручками, kubedb посимпатичней показался

Andrey
21.10.2018
08:40:15
Я пока доки кранчи поковырял, там многое ручками, kubedb посимпатичней показался
Там, на самом деле, куча приколов. Например, в ходе тестов выяснилось, что leader election абсолютно не учитывает состояние бд, поэтому при сносе данных с одной базы она пересоздавалась чистой из инит-скриптов и смогла получить лидерство, а все остальные реплики, одна из которых должна была бы стать мастером, дружно писали в лог о том, что ID у мастера и слейва отличаются. Плюс, иначе как руками пока что отдельно взятую реплику из бэкапов не восстановить. Вот, что сходу пока выяснили.

Andor
21.10.2018
08:45:01
Причём патрони не прибит гвоздями к куберу

Andor
21.10.2018
08:56:30
Насколько мне известно - всё с ним норм

Andrey
21.10.2018
08:56:41
это kubedb?
Да. Вообще, мне кажется, что операторы без тестов и чтения исходников юзать не стоит.

Google
Andrey
21.10.2018
09:00:00
А, еще можете пришибить под с репликой во время recovery mode

И еще, иногда при одновременном убийстве всех экземпляров все они потом запускаются в качестве реплик

Короче, уронить кластер pgsql под управлением kubedb как нефиг делать

Anton
21.10.2018
09:06:47
Надо патрони поковырять, на фоне ваших историй stolon попредсказуемей, если дропнуть бд он говорит что id базы отличается и переключит мастера на реплику, а там где занулено нужно сделать removekeeper,

И нуленка стенет репликой и с мастера закопирует данные

Andrey
21.10.2018
09:08:21
Похоже разобрался в чем беда была. Там ставил Calico 3.2 . Сейчас решил попробовать 2.6 и все нормально завелось
Я как раз месяц назад апгрейднулся с 2.6 до последней версии. Кстати, я в калико заметил такой прикол, что networkpolicy ломают коннект к подам через сервисы, напрямую нормально. Думаю, это связано с nat-outgoing: true в параметрах пула.

Надо патрони поковырять, на фоне ваших историй stolon попредсказуемей, если дропнуть бд он говорит что id базы отличается и переключит мастера на реплику, а там где занулено нужно сделать removekeeper,
Фейловер - это не единственная задача, которая нужна от оператора, увы. У нас просто планируется в будущем управление туевой хучей бд, поэтому без оператора никуда, пусть даже и допиливать придется.

Anton
21.10.2018
09:13:18
Подскажите для postgresql в kubernetes вы что используете? Nodeport, loadbancer, ingress?

Eugene
21.10.2018
09:14:53
(но вообще я бы постгрес не держал в кубернетисе)

Andrey
21.10.2018
09:17:45
Подскажите для postgresql в kubernetes вы что используете? Nodeport, loadbancer, ingress?
Мне доступ извне сети кластера к нему не нужен, но если нужно будет выставить наружу, то амазоновский nlb должен подойти. Если доступ с виртуалок, не входящих в кластер, то там можно маршруты по bgp анонсировать, думаю.

Страница 930 из 958