@kubernetes_ru

Страница 253 из 958
Айбелив
27.08.2017
12:03:14
а я больше программист) хотя я уже не уверен)

Сергей
27.08.2017
12:04:11
не меня Бог миловал

Айбелив
27.08.2017
12:07:58
а, ещё проблему вспомнил про Voyager. Он плодит контроллеры, и первый созданный занимает порт. Второй контроллер не стартанёт на том же порте.

проблема бы совсем и не была проблемой, если использовать сервисы с типом LoadBalancer, но у меня baremetal

Google
Сергей
27.08.2017
12:10:45
ну как бы кубер сильноопирается на облачную инфраструктуру

тут да

хотя елб то еще гуано у авс

https://github.com/kelseyhightower/istio-ingress-tutorial

если кто еще не видел

Paul
27.08.2017
12:54:34
модераторы?

Alisa
27.08.2017
13:08:42
бампнул Дениса

Айбелив
27.08.2017
14:29:34
https://lyft.github.io/envoy/
L4 тоже нужен

Gleb
27.08.2017
14:29:40
там есть

Айбелив
27.08.2017
14:35:47
https://lyft.github.io/envoy/
ну опять-таки, это istio (ingress для Envoy там реализован)

есть опыт?

Можно ли терминировать TLS-трафик на контроллере, взять хэш клиентского сертификата, повесить заголовком на реквест и отправить дальше по роуту?

Google
Сергей
27.08.2017
14:45:29
Ну истинно изначально для других целей

Ivan
27.08.2017
16:14:15
Товарищи, кто нибудь может подсказать как сделать правильно, если мне надо иметь возможность самому выбирать с каким сервером соединяться (игровые сервера), выходит лоад бэлэнсер мне не нужен

Как правильно пошарить сервер наружу?

Kaspar
27.08.2017
16:33:38
если так, то можно шардировать юзеров по юзер-айди например

Сергей
27.08.2017
16:46:13
Клиент сайд сервис Дискавери

Kaspar
27.08.2017
16:47:15
шардированием можно в ногу выстрелить позже при масштабироании, надо думать заранее хорошо

bebebe
27.08.2017
16:47:18
если так, то можно шардировать юзеров по юзер-айди например
в этом случае нужно ожидать при добавлении нового сервера, нужен ребалансинг в общем случае это не больно, немного неприятно

Kaspar
27.08.2017
16:47:27
баду, кажется, на хайлоаде рассказывали про похожий подход

таймкод на распределение запросов https://youtu.be/SU9ETg39FEg?t=9m45s

Ivan
27.08.2017
17:38:06
Kaspar
27.08.2017
17:38:59
протокол какой?

Ivan
27.08.2017
17:39:42
Udp

Сейчас я на азуре ноде руками public ip ставлю, но это костыль

Kaspar
27.08.2017
17:43:36
цель балансить юзера при подключении на наименее загруженный сервак на все время его сесии?

Ivan
27.08.2017
17:48:16
Да, это делает кастомный сервис. Цель как то спрятать поды за одним эндпойнтом но по разным портам

Kaspar
27.08.2017
17:48:34
может попробовать просто nginx, с версии 1.9.13 он может балансить udp.

раунд робином или least_conn может подойдет

Google
Ivan
27.08.2017
17:49:35
Робин точно не подойдет

bebebe
27.08.2017
17:49:58
openresty + хождение в статистику и выбор балансера

Kaspar
27.08.2017
17:50:00
least_conn или hash по айпи юзера может тогда

на lua велосипед написать можно. Решение тут возможно нужно кастомное

bebebe
27.08.2017
17:50:29
хотя я бы на вашем месте в протокол внедрил редирект т.е. первый на определенный запрос, был специальный тип пакета, идите туда, типа http 302

Kaspar
27.08.2017
17:50:50
в играх скорость нужна. Будет быстро

bebebe
27.08.2017
17:51:50
я не знаю насколько там легаси, но все таки делал бы перед входом http/udp/whatever запрос куда слать пакеты

а там какую угодно логику можно запилить

Kaspar
27.08.2017
17:52:55
ну да, тут смотря почему хотят балансить. Коннектов много или тачки не выдерживают. Тогда можно сходить в метрику и где больше проца avg(15min) туда и отправлять

требования расплывчаты

bebebe
27.08.2017
17:54:23
балансить уже второй вопрос, первый это реализовать в протоколе сам метод, типа дайте ip:port

bebebe
27.08.2017
17:54:46
а на каком принципе будет их отдавать балансер - дело сугубо личное

я не до конца понимаю, какова цена таких изменений

и возможны ли они в случае топикстартера

Kaspar
27.08.2017
17:56:50
не имел дела с гейм серверами. С одной сторы интересно, с другой - udp мрак

bebebe
27.08.2017
17:57:35
мрак не мрак, но как бы контролируемо

Ivan
27.08.2017
17:58:23
Ща, домой приеду напишу более подробно требования

Ща, домой приеду напишу более подробно требования
Короче игровые сервера представляют собой что-то вроде комнат, по комнатам игроков распределяет отдельный сервис - матчмейкинг. Данный сервис сначала собирает группу игроков на основе ряда параметров, но примерно равных по силе, и затем должен поместить их всех на один сервер. Таким образом матчмейкинг отдаёт клиентам ip:port для соединения и дальше игроки соединяются с сервером. В рамках матча сервер меняться не может. Именно поэтому стандартные балансеры не подходят. Общение с игровым сервером происходит по определенному порту, по udp протоколу. Один сервер может обслуживать только один матч. Поэтому балансировка происходит за счёт поднятия большего количества серверов. В моем понимании каждый сервер - под. При поднятии пода должен быть создан маршрут: сгенеренный порт паблик эндпойнта на порт пода на ноде. Этот маршрут не меняется пока с подом что-то не случится. Я вот не знаю как в азуре при поднятии пода регистрировать такой маршрут

Сергей
27.08.2017
19:37:30
Nodeport?

Google
Сергей
27.08.2017
19:39:02
https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport

Ну тупо сервис из одного пола

Пода

Ivan
27.08.2017
19:42:24
Ну это то что я сейчас типа сделал, каждый под запускается с net=host и сам выбирает порт, но я не могу на азуре автоматом генерировать паблик ip для ноды

Приходится ручками настраивать

Сергей
27.08.2017
19:43:50
Это не то что вы сделали

Ну и с ажуром дел не имел давно

Admin
ERROR: S client not available

Ivan
27.08.2017
19:44:31
Можно на ты, если что)

В чем моя ошибка?

Node port азура не поддерживает

Сергей
27.08.2017
19:45:27
Не ошибка просто это не нет хост, это у вас сервис марается на айпи ноды на порт из диапазона выше 3000

При чем на все ноды где кубпрокси есть

Ну тут вам виднее

Я ажур не трогал в разрезе кубера

Хотя нодпорт это же базовый функционал

Че там в ажуре такое шоб оно не работало?

В фаерволе порты не открыты разве что

Ну или реально на нодах нет белых айпи.

Ivan
27.08.2017
19:57:37
А если надо несколько серверов на ноде запустить, как node port это разрулит? Нужно несколько с Копий сервиса делать?

Google
Paul
27.08.2017
20:07:16
балансировщик, нет?

Сергей
27.08.2017
20:12:13
Нет сколько сервисов столько портов

Там их диапазон

А внутри сервиса один или более копий пода

Но вам несколько родов в одном сервисе нах не надо я такипонялт

Paul
27.08.2017
20:13:48
а нужно трекать весь диапазон, один порт не вариант? С одним можно было бы как-то поиграть, ИМХО

а вот с диапазонами балансировщики, вроде как, пока не умеют

Ivan
27.08.2017
20:15:40
а нужно трекать весь диапазон, один порт не вариант? С одним можно было бы как-то поиграть, ИМХО
Тогда балансировщику надо будет как то дополнительно отличать на какой сервер от какого клиента запрос посылать

Вся проблема текущих вариантов, что они заточены под стейтлес

Сергей
27.08.2017
20:18:39
Да в ямле пропишите любой свободный из диапазона

Maksim
28.08.2017
09:43:13
Каждый сервис типа NodePort это конкретный порт, который днатится также как и Cluster IP в ряд ip endpoint (которыми являются поды)

Ivan
28.08.2017
09:44:05
Сервисы не пренадлежат нодам
это понятно, сервис и нужен чтобы скрыть то что в кластере

Maksim
28.08.2017
09:44:15
При этом все Ноды открывают этот порт

Сервис нужен что бы отвязаться от динамического IP пода

и что бы сделать балансировку если подов больше одного

Ivan
28.08.2017
09:48:25
Каждый сервис типа NodePort это конкретный порт, который днатится также как и Cluster IP в ряд ip endpoint (которыми являются поды)
я вот не понимаю, за этим конкретным портом, может скрываться >1 пода? если я буду оперировать nodeip:port, то это мне, может, и подойдет, если на ноде один такой под крутится, но если мне нужно несколько подов на ноду, то нужно тогда делать несколько NodePort, что опять же предполагает, что я это делаю ручками и гранулярность подов не будет регулироваться автоматически

Maksim
28.08.2017
09:49:27
Ммм Ты совсем запустался и не туда смотришь

Сервис объеденяет поды

например у меня 10 Nginx

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