Dmitrii
и я же не просто так задал вопрос об оплате труда
это тебе сюда http://flant.ru они тебе за деньги на русском языке на любые вопросы ответят. и ведь гуглится за 5 минут кто в ру сегменте готов тебе помочь за некоторое колво денег.
Dmitrii
ап: и это не реклама, видел ряд докладов их спецов по k8s.
Terry
думал, раз сообщество то может кто уже практикует
Terry
вооот, подъехали шутки за 200
Terry
спасибо, оценил
Terry
я так и думал
Dmitrii
кроме шутеек за 300 мы еще работать успеваем. =\
Dmitrii
ну кроме тов. психа. слышал он на вотльных хлебах.
Serega
@terrifilch тут в группе как раз недавно подобные вопросы были про мультиреджин кластер, и ответы на них тоже были. Но мне не в лом повторить: мультиреджин сингл кластер это верный способ нажить себе проблем. Особенно если не можешь гарантировать коннекшин между реджинами. И кубер - не серебрянная пуля, которая из гавяной архитектуры способна сваять конфекту с названием highavailability, highscalability, highperformance
Terry
ровно так же как и работоспособность 100% ю каналов связи между ними
Dmitrii
я бы на твоём месте задумался зачем тебе 3 дц.
Serega
не можешь гарантировать - не строй архитектуру которая расчитывает на это.
Etki
неа
Terry
омг
Terry
вы вообще читали, что я писал
Dmitrii
чем проще ты сделаешь тем лучше. одного дц тебе современного даже тиер 2-3 достаточно будет.
Terry
разные сервисы на разные континенты
Terry
и страны
bebebe
галактики
Terry
cdn само собой
Terry
это логично
Etki
тогда непонятно, зачем их соединять в один кластер, если это принципиально разные сервисы
Dmitrii
воспользуйся для быстрой доставки CDN
Terry
воспользуйся для быстрой доставки CDN
ПО-ЭТОМУ, я и спросил о консультации
Terry
3дц это уход от идиотизма датацентра
Terry
облако тоже не панацея
Etki
так, давайте на два шага назад
Etki
в этих трех дц один и тот же контент, или разный?
Terry
там не контент, а сервис который будет генерировать данные для юзеров
Terry
при этом реалтайм
Terry
cdn для сео не всегда ок
Etki
вопрос не про реалтайм, это одна сущность, которая синхронно у тебя должна работать в трех локациях, или все-таки разные сущности, которые между собой никак не связаны?
Serega
база на чем?
Terry
mongo
Terry
пока что она, в дальнейшем - может поменятся
Serega
монго плохой выбор для таких задачь. О риалтайме можно забыть.
Serega
но если иметь 2 статлес приложения, то зачем заморачиваться о одном сингл кластере. Несколько отдельных кластеров обеспечат гораздо большую надежность. Но уровень базы в любом случае нужно будет не на кубе делать
Serega
твое предложение?
при таких вводных, кубер кластер в одном реджине с распределением нод по AZ. (Aws\GKE) Базу если не менять - то можно mongomms cloud, если менять то взять что-то из того что предлагает клауд. Если своими силами - то все очень сильно зависит от логики приложения. Таже кассандра не везде пойдет.
Serega
делать мультиреджин кластера надо если ты работаешь на глобальный рынок и важна латенси.
Terry
и я о том же
Serega
ну вот и делай несколько отдельных кластеров. Да хоть мультиклауд. Это вообще всё фигня, кроме вопроса синхронизации данных между реджинами.
Serega
приложение пишет или читает из базы?
Terry
читать может конечно меньше, но писать будет 100%, каждый час и по многу
Terry
правда все зависит от аппетита юзера к данным
Vitalii
Всем привет! Кто настраивал мультимастер Kubernetes кластер скажите, правильно ли я понял логику всей схемы. Чтобы поднять мультимастер Kubernetes нужно настроить одну мастер ноду, далее скопировать с нее сертификаты на остальные 2 ноды. Далее, по стандартной схеме, настроить остальные два мастера на оставшихся двух нодах (при этом ключи на них генериться уже не будут, т.к. они есть) и в конце настроить реплику между всеми etcd который пуступает как БД для мастеров. В логическом завершении нужно на четвертой машине настроить баллансировщик (единую точку входа для всех 3-х мастер нод). Все правильно?
Serega
Если много писать и важна латенси для мультиреджин, то похоже что стоит посмотреть на кассандру. Возможно, в комбинации с каким-то кешами. (может быть Ignite) Но здесь все сильно зависит от приложения и бизнес кейса. Не воспринимайте эти технологии как готовый рецепт.
Serega
Опять же, если данные не нужно синхронизировать между реджинами, то и монга может подойти.
Vitalii
Представлюсь. Я php backend разработчик. Хочу уметь создавать приложения работающие в облаке и легко масштаблируемые. Для этого я изучил Docker и сейчас учу оркестрацию. Выбрал Kubernetes в качестве откестратора. В планах хочу построить protuction HA кластер из 3 мастер нод и N миньйонов, а так же настроить CI\CD приложение через Gitlab CI. Наметил себе путь, а теперь активно курю доки и вкладываю в свою голову знания и понятия. Я из Украины, г Одесса. Про группу узнал из списка каналог на гитхабе и гугла. #whois
Vitalii
так а где настраивается keepalived ? и какая логика с ним получается?
Vitalii
etcd сразу настраивается как единый кластер
а большая разница сразу настраивать или в будущем добавить мастеров?
Mikhail [azalio]
так а где настраивается keepalived ? и какая логика с ним получается?
держит один адрес который шарится между серверами. При падении одного - этот адрес зажигается на другом.
Dmitrii
@voskobovich есть ещё мнение что в случае мультимастера мастеров должно быть нечётное кол-во из-за (рас)синхронизации состояния. поправьте если я не прав.
Mikhail [azalio]
еще надо не забыть про флаги leader-elect в контрол плейне
Vitalii
держит один адрес который шарится между серверами. При падении одного - этот адрес зажигается на другом.
никогда с keepalived не работал, но слышал что это за зверь) мне не понятно на какой ноде его запускать?
Vitalii
@voskobovich есть ещё мнение что в случае мультимастера мастеров должно быть нечётное кол-во из-за (рас)синхронизации состояния. поправьте если я не прав.
я планирую 3 ноды))) самый распространенный вариант, да и в доке написано. А можно подробней почему именно нечетное и в сем проблема (рас)синхронизации состояния ?
Etki
@voskobovich есть ещё мнение что в случае мультимастера мастеров должно быть нечётное кол-во из-за (рас)синхронизации состояния. поправьте если я не прав.
в распределенной системе (в данном случае etcd), при четном количестве кворум формируется таким образом, что последний узел становится немного лишним
Mikhail [azalio]
Vitalii
не делал так, обычно сразу кластер поднимал
я правильно понял, что keepalived это тоже кластер из 3 демонов на всех нодах? Но тогда не понятно где же та самая единая точка выхода.
Etki
я планирую 3 ноды))) самый распространенный вариант, да и в доке написано. А можно подробней почему именно нечетное и в сем проблема (рас)синхронизации состояния ?
В случае любого разделения сети формируется новый кластер из оставшихся узлов. Один из вариантов разделения сети - это просто потеря связи между двумя участками кластера, и в таком случае возникает проблема двойного авторитета. Из-за этого та часть, в которой меньшинство, должна потухнуть до воссоединения, а большинство - продолжить работу. Если мы берем нечетное количество нод, скажем пять - большинством является три ноды. Если мы возьмем шесть, то большинством будет четыре ноды - и получается, что вот эта шестая нода не дает нам никакого преимущества, потому что больше двух нод мы потерять все равно не можем.
Etki
Останется четыре, они видят друг друга и продолжают работу. Если эта нода не умерла, а оказалась отрезанной от сети, то она увидит, что товарок больше нет и откажется выполнять запросы.
Etki
Конкретно в etcd внутри сидит протокол raft, который просто не считает операцию совершенной, пока ее не приняло большинство участников кластера, поэтому там это вообще сразу из коробки (правда с чтениями они один раз все же профакапились, но это пофиксили).
Vitalii
Конкретно в etcd внутри сидит протокол raft, который просто не считает операцию совершенной, пока ее не приняло большинство участников кластера, поэтому там это вообще сразу из коробки (правда с чтениями они один раз все же профакапились, но это пофиксили).
аааа, это функция самого ПО. То есть если ПО умеет соединяться в кластер, то на его уровне и реализуется логика контроля совершенности операции. Например в etcd пришел запрос на запись значения, нода его пишет себе и передает другим. И пока другие не примут и не сохранят у себя то операция не считается завершенной. Так?
Andor
@voskobovich есть ещё мнение что в случае мультимастера мастеров должно быть нечётное кол-во из-за (рас)синхронизации состояния. поправьте если я не прав.
это нужно только для етцд, если он жив, то мастера кубера можно поднять хоть одного и потом переподнимать при падении на других хостах, потому что он стейтлесс