@kubernetes_ru

Страница 637 из 958
Huan
21.06.2018
22:17:01
Например в нативных приложениях. У нас есть костыль от ркн, когда лочат наши домены, у нас открывается новое зеркало, это все передается на безобидную страницу в виде хеша, а нативки туда лезут за адресом

И не только это, у нас часто появляются сервисы, потом удаляются

И это все очень геморно руками менеджить

Dmytro
21.06.2018
22:18:49
ну тут я бы посоветовал сделать микросервис который будет выгребать ингресы и в нужном вам виде в json тдавать

Google
Dmytro
21.06.2018
22:19:30
потому что на то что вам надо врядли коробочное решение найдётся

Andor
21.06.2018
22:19:49
Huan я правильно понял, что хотите поменять номад на кубер?

Andor
21.06.2018
22:20:35
а зачем?

Andor
21.06.2018
22:22:42
etcd это key-value хранилище

и почти ничего более

Huan
21.06.2018
22:27:14
а зачем?
Главный архитектор решил. Плюс у нас есть связка haproxy+consul-template+nomad+consul. И в этом стеке есть беда. Когда сервис переезжает, консул темплейт пересобирает конфиг хапрокси и релоадит его. Но у незавершенных коннектов остается процесс старый, который ведет на несушествующий сервис и в итоге юзер получает 502

Andor
21.06.2018
22:28:16
кажется проблема в haproxy, а не в вашем стеке

Dmytro
21.06.2018
22:28:25
define переезжает

урл меняется?

Andor
21.06.2018
22:33:29
видимо один из бекендов вываливается, пропадает из конфига, а текущие подключенные к haproxy клиенты, которые были отпроксированы на этот бекенд, получают 502

Dmytro
21.06.2018
22:36:53
ааа ну в кубе такого не будет если сделать норм graceful shutdown у контейнера и проставить таймауты

Google
Huan
21.06.2018
22:37:32
etcd это key-value хранилище
Вот это и нужно

кажется проблема в haproxy, а не в вашем стеке
Да. Можно еще сделать прослойку в виде traefik, но этим стеком занимаюсь не я, хотят все переделать и выбрали кубик

урл меняется?
Урл не меняется, меняется бекенд

В кубике вроде как это решается, т.к. под может завалиться и перезапуститься на другой ноде, а сервис сам будет на том же ИПе

И нгинкс не будет релоадиться

Dmytro
21.06.2018
22:37:45
конечно если контейнер умрет (например по памяти) то будет тоже но это уже нештатная ситуация

Andor
21.06.2018
22:38:43
И нгинкс не будет релоадиться
динамические обновления апстримов в нжинкс-ингресс вроде недавно сделали совсем

Dmytro
21.06.2018
22:38:47
ингресс смотрит на айпи сервиса которое не меняется

а вот сервис уже раскидывает на поды

Huan
21.06.2018
22:39:15
И подскажите как запилить ингресс по вебсокету?

Dmytro
21.06.2018
22:39:53
так а где там динамическое обновление апстримов в случае перезапуска пода на другой ноде?

Andor
21.06.2018
22:39:54
а у тебя приложение в старом кластере не может разрегаться из консула раньше, чем помереть?

Huan
21.06.2018
22:40:04
И тсп ингресс как настроить?

Dmytro
21.06.2018
22:41:02
а зачем ингресс для тсп?

ингресс это L7

в случае тсп сразу на сервис направляй траффик

Google
Huan
21.06.2018
22:41:41
а зачем ингресс для тсп?
Я видел манифест для тсп

Я еще хочу почтарь в куб запихнуть

Нужный сервис для проекта

Andor
21.06.2018
22:43:15
если ты видел манифест, то зачем спрашиваешь?

yolkov
21.06.2018
22:43:26
https://github.com/kubernetes/ingress-nginx/tree/master/docs/user-guide

Huan
21.06.2018
22:43:53
Я видел в кубе при напиле ингресса)

Dmytro
21.06.2018
22:44:46
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md

тут вроде всё просто как табуретка

но вот зачем?

Huan
21.06.2018
22:45:28
apiVersion: v1 kind: ConfigMap metadata: name: tcp-configmap-example data: 9000: "default/example-go:8080"

Такое пробовал, но не заработало)

Andor
21.06.2018
22:47:03
так себе отчёт о проблеме

Huan
21.06.2018
22:47:23
но вот зачем?
На одном проекте внекубовый сервис должен ходить в куб. Только не спрашивай зачем, у программистов свои тараканы)))

Huan
21.06.2018
22:48:52
Я б и на нодепорт сделал, но архитектор ставит задачи(

Andor
21.06.2018
22:49:19
и задача звучит "сделай мне через ингресс"?

или "сделай мне доступ из внешнего сервиса в поды по tcp"?

Huan
21.06.2018
22:49:37
Да, и говорит это возможно

Andor
21.06.2018
22:50:14
"сделай мне через ингресс потому что это возможно"?

Google
Andor
21.06.2018
22:50:18
чота так себе

Huan
21.06.2018
22:50:41
Да, кстати так и сказал

Andor
21.06.2018
22:51:07
ну сделай без ингресса, но скажи ему что с ингрессом

yolkov
21.06.2018
22:51:27
tcp и udp работает, разберись что не правильно делаешь

yolkov
21.06.2018
22:53:42
таам в деплойменте надо указать этот конфиг мап

Dmytro
21.06.2018
22:54:14
а объяснить архитектору что ингресс тут лишняя сущность и точка отказа - не вариант вообще?

yolkov
21.06.2018
22:54:43
ngress controller uses the flags --tcp-services-configmap and --udp-services-configmap to point to an existing config map where the key is the external port to use and the value indicates the service to expose

ну пусть ходит через сервис, причем тут ингресс?
как из вне куба будешь ходить в сервис куба?

Andor
21.06.2018
22:57:17
рулит-то пусть рулит

а донести до него что это бессмысленно - запрещено?

yolkov
21.06.2018
22:57:59
все нормально говорит "архитектор"

из вне куба не так много вариантов ходить в куб

Dmytro
21.06.2018
22:58:34
это даже вредно, доп точка отказа, усложнение архитектуры на ровном месте и т.д.

Huan
21.06.2018
23:00:15
Ну я так понимаю что игресс может все, что может нгинкс. А нгикс может проксировать тсп

Dmytro
21.06.2018
23:00:20
как-то микроменеджментом попахивает - это у вас всегда так он делает или только в этом случае вдруг каприз приключился?

yolkov
21.06.2018
23:01:18
еще раз. как вы ему посоветуете ходить из сервиса вне куба в куб по тсп?

Andor
21.06.2018
23:01:34
да хоть NodePort

Google
Andor
21.06.2018
23:02:11
нет

потому что на уровне tcp нет понятия "домен"

yolkov
21.06.2018
23:02:24
нод порт не очень штука, она делат тупую балансировку, и та же степень отказа ноды что и ингрес

Deep Sea
21.06.2018
23:02:30
если протокол умеет в SNI, то можно

Dmytro
21.06.2018
23:02:55
хмм в каком месте та же степень отказа?

Huan
21.06.2018
23:03:14
А нгинкс умеет sni

yolkov
21.06.2018
23:03:31
не будет ноды на которую проксируют не будет доступа на сервис

Deep Sea
21.06.2018
23:03:57
https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html

Andor
21.06.2018
23:04:03
http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html о, прикольно

Dmytro
21.06.2018
23:04:17
так порт открывается на всех нодах

Huan
21.06.2018
23:04:45
Завтра проверю

Спасибо

yolkov
21.06.2018
23:05:01
ну значит ему нужне на сервисе балансер который будет ходить на несколько нод, точно так же можно ходить на несколько ингрессов с тсп портами

Dmytro
21.06.2018
23:06:12
https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html
а зачем этот модуль, не лучше и проще ли чтобы SSL терминейтился на самом ингрессе?

Dmytro
21.06.2018
23:06:37
зачем этим должен заниматься сам микросервис?

хмм а этот модуль для TCP SSL и раскидывания по хосту (в тсп пакете) на разные апстримы?

yolkov
21.06.2018
23:08:03
в некоторых случаях нодеопорт вообще вредная штука, пример и з жизни: флюенту можно указать несколько точек отправки, так вот если указать в качестве точек нодепорты разных хостов то при "плохо работающем" поде, флюент выбросит все хосты, т.к. нодепорт будет проксировать раундробином на сломаный под и все хосты выведутся

Dmytro
21.06.2018
23:08:07
что-то я ничего не понимаю если честно

Dmytro
21.06.2018
23:17:53
ага, погуглил - оказывается они tcp ssl termination только в плюс версии сделали https://docs.nginx.com/nginx/admin-guide/security-controls/terminating-ssl-tcp/

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