neb0t
@etkee нужен )) у всех кто в скейле к имени контейнера +1. Соответсвенно стрим для нгинкс будет увеличиваться или уменьшаться) Но сейчас реч идет об кубернетис - как без ЛБЛ замутить собственныый на онметал ?
Stanislav
lbl - лоад балансер?
neb0t
да
Andor
кажется проще на коленке сделать, чем искать готовое решение для внешнего балансеровщика
Stanislav
Stanislav
=)
Stanislav
хапрокси там чудно живет
neb0t
Моя идея - запустить хапрокси и проксировать на нгинкс, за которым арр. Имеет место или проще делается?
Мне интересно заскейлить арр, чтобы нгинкс автоматом задетектил новые включения и соответственно хапрокси чтобы понимала что есть +н новых нгинкс хостов для конкретного домена.
Или кубернетис разруливает это самостоятельно?
Andor
а зачем haproxy, а не nginx?
Anonymous
neb0t
хочк на случай падения нгинкса рисовать бублик или меседж что мы обновляемся. Ну и если будет очень большая нагрузка )
Andor
"потому что могу"?
Andor
neb0t
хапрокси еще даст дополнительную прослойку с мониторингом.
Andor
а нжинкс не даст?
Anonymous
это просто вкусовщина сейчас
Anonymous
они примерно одинаково работают
Andor
ну потому и спрашиваю, зачем ещё-один-вид-прокси если уже есть нжинкс
Anonymous
нужно тестить для ваших юзкеисов
neb0t
) Ну какая разница - юзал на высоконагруженых сервисах. Причина была простая
https://thehftguy.com/2016/10/03/haproxy-vs-nginx-why-you-should-never-use-nginx-for-load-balancing/
Anonymous
Andor
> Metrics available from nginx
> nginx provide only 7 different metrics.
про vts не слышали?
дальше не читал
Oleg
Как бороться ???
У нас это реализовано через самописный питоноскрипт. Он раз в минуту по крону идёт в куб через апи, получает списки нод и сервисов с фильтрами по лейблам и генерирует haproxy конфиг из jinja2 шаблона. Если хэш нового конфига отличается от существующего, то проверяет новый конфиг на валидность, перезаписывает существующий и релоудит haproxy.
Andor
дочитал статью по ссылке, звучит как "из коробки в ванильном нжинксе нет много чего, не рекомендую юзать нжинкс вообще!"
Andor
хотя есть vts, openresty или вообще nginx+
Anonymous
Andor
𝚔𝚟𝚊𝚙𝚜
есть kubectl get svc -w
Andor
ну или руками в етцд можно ходить
Andor
Oleg
Ещё из особенностей - скрипт ходит в два (или более, задаётся в конфиге) кластера (2 датацентра) и формирует мастер-бэкап бэкенды в haproxy. Таким образом при отказе кластера или плановой остановке трафик уходит в другой ДЦ.
Oleg
Со своими задачами справляется.
Andor
даладна?
Andor
есть модуль на сях, есть в опенрести
Anton
в бесплатной пассивный хелсчекинг на сам деле тоже работает =) но клиент, который делает запрос, может подождать
Andor
тот что нжинкс+ - кальса (или вообще порт) с модуля на сях
Andor
https://github.com/yaoweibin/nginx_upstream_check_module вроде с этого
Andor
не, в плюсе даже попроще будет
Stanislav
что только народ не придумает, чтобы хапрокси не юзать
Stanislav
там это из коробки =)
Andor
хапрокси научился мерять время ответов гистограммами, а не неким "avg"?
Andor
а то у нас грустненько с этим
Andor
хочу вообще его выкинуть
Andor
envoy кстати никто не юзает как фронтовый балансер, да?
G72K
Oleg
G72K
А чего не хотите прописать во внешний haproxy внутренний ingess controller статично
Stanislav
всегда релоад был
Stanislav
года 3 точно
Stanislav
старые форки остаются пока коннекты не порвутся
Andor
что-то новость про это была чуть ли не с полгода назад всего
Anton
reload на 1.4 там был. но в каких то версиях он зависал при reload =))
Oleg
Как уже писал ранее, все это изначально для сварма пилилось.
Stanislav
rt
Кто-нибудь может объяснить или сказать где почитать как flannel и cni связаны между собой? После прочтения кучи всего понимание так и не пришло. docker0 биндим на подсеть flannel, с этого момента, как я понимаю, появляется связность между контейнерами на разных физических нодах. А что за cni и куда он здесь?)
Stanislav
что при релоаде приводило к нескольким процессам
Stanislav
Stanislav
тут даже картиночка есть =)
Stanislav
https://habrahabr.ru/company/flant/blog/329830/
Stanislav
может так поможет
rt
Даже как-то не пришло в голову на русском погуглить, честно сказать)
Stanislav
Stanislav
по container network interface
Stanislav
вторая ссылка в гугле после гитхаба
Stanislav
=)
rt
В моем нет, но я не в рф)
rt
Окей, стало более понятно, спасибо. У меня сейчас не установлены никакие cni пакеты, но при этом когда куб создает под, в контейнере также появляется сетевой интерфейс и на ноде появляется veth интерфейс. В моем случае сейчас всем этим управляет CNM получается? И как только я сконфигурю CNI и забиндю docker0 туда, то этим начнет заниматься уже CNI?
NM
Oleg
Да и сейчас есть таких еще 3 кластера, с которых еще не все мигрировали.
Andrey
господа, а кто-нибудь использует jenkins + kubernetes-plugin?
𝚔𝚟𝚊𝚙𝚜
Коллеги, кто-нибудь знает как лучше реализовать поддержку IPv6?
Правильно ли я понял что Kubernetes не поддерживает dual stack, как тогда экспозить сервисы для IPv4 и IPv6?
Иван
Andrey
тут просто веселуха есть небольшая