V
а как вы между ними трафик балансируете?
не очень понял там 3 окружения они так сказать все dev окружения
V
каждый namespace это независимая система от соседней (в другом namespace)
Rainbow
вы на разные порты их раскидали или как попадает трафик в кластер?
V
разные адреса IP
V
это ты имеешь ввиду ?
V
у каждого nginx-ingress свой IP
V
но спасибо тебе походу будет теперь один
Rainbow
Ну да. В общем один ингресс на кластер это нормально. И последние версии nginx-ingress не делают reload для обновления upstream на поды. Может у вас старая версия.
V
это вдеь только nginx-plus может
Rainbow
Там api на openresty для пуша новых IP
Rainbow
В nginx.conf нет ip подов совсем. Их контроллер отсылает через API
V
В nginx.conf нет ip подов совсем. Их контроллер отсылает через API
вот это уже немного не понятно он их динамически каждый запрос вычесляет?
Andor
это если версия новее марта 2018
V
чудеса конечно
Rainbow
https://github.com/kubernetes/ingress-nginx/blob/master/docs/how-it-works.md#avoiding-reloads-on-endpoints-changes
V
спасибо люди добрые
Rainbow
спасибо люди добрые
kubectl exec -n kube-system -it nginx-nginx-ingress-controller-xxxx curl localhost:18080/configuration/backends можно сделать что-то вроде такого, чтобы увидеть какие там данные, если интересно.
Rainbow
да интересно , как переведу на один controller но я просто смотрел файл nginx.conf
если у вас там есть ip в upsteam... тогда старая версия.
Andrey
Ребят, а реально через ingress вести трафик на внешний хост? Или без сервиса никак?
Rainbow
Ребят, а реально через ingress вести трафик на внешний хост? Или без сервиса никак?
external service https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-mapping-external-services
Ivan
Вот еще интересный момент с ingress-nginx, кто как решает? https://github.com/kubernetes/ingress-nginx/issues/3273
Rainbow
Ребят, а реально через ingress вести трафик на внешний хост? Или без сервиса никак?
видел обработку этого кейса в логике контроллера. Там не будет использоваться балансер или ещё что. Просто анотация
V
видел обработку этого кейса в логике контроллера. Там не будет использоваться балансер или ещё что. Просто анотация
Алекс у тебя хочу спросить, есть какие то предпосылки не использовать daemonset для nginx-ingress ?
Валентин
Алекс у тебя хочу спросить, есть какие то предпосылки не использовать daemonset для nginx-ingress ?
Если у тебя с десяток серверов, то зачем тебе десяток нджинксов? А если настраивать ограничения по нодам, то там уже разница сежду деплоем и демонсетом становится менее заметной
Andor
ну это как бы up to you, как тебе удобнее - так и делай
Andor
хочешь так - делай так
V
ну это как бы up to you, как тебе удобнее - так и делай
мне почему то кажется очевидным daemonset ставить . но хотел узнать у вас и у тебя
Mr.
а тебе нужно 10 точек входа?
Валентин
я вот наоборт не понимаю , если с десяток серверов то почему бы не быть там на каждом из них по controller
Ну если у тебя прям такая нагрузка на нджинксы то юзай... но это нетипично
Валентин
мне почему то кажется очевидным daemonset ставить . но хотел узнать у вас и у тебя
Ну у меня щас пара выделенных нод под это, и десяток с остальными подами. И выкатить на 2 хоть деплоем хоть демонсетом имхо одинаково
V
а тебе нужно 10 точек входа?
ага понятно но это больше удобнее если у тебя baremetal а не cloud , в клауде точка получается одна даже хоть буть у тебя 20 contorller
Валентин
Это ж все их в какой-то балансировщик или днс или еще куда прописывать
Andor
вощемта это единственная разница в этом кейсе
Валентин
потом станет 3 и надо будет менять деплоймент, а демонсет - нет
Ну все равно надо будет что-то еще делать - аффинити прописывать, или скейлить деплой... короче "что-то еще" делать всяко
Andor
аффинити у тебя не поменяется
Andor
лейблы в обоих случаях надо будет трогать
Rainbow
Алекс у тебя хочу спросить, есть какие то предпосылки не использовать daemonset для nginx-ingress ?
у меня daemonset. Он гарантирует 1 pod на сервер, меня это устраивает. С deployment могут в теории же все на одной ноде оказаться. А как выше и сказали - кейсы разные.
Rainbow
Через taint ещё можно поменить ноды под nginx.
Rainbow
запрет запуска чего либо на ноде, оно обычно на мастерах. Но можно иммунитет дать по меткам.
Rainbow
tolerations: - key: dedicated value: checkspace operator: "Equal" effect: NoSchedule у меня не nginx так стоит, но смысл такой же.
V
ну и еще кое что касательно helm как то есть способ чтобы helm подчистил весь этот уже гиганский список configmap для tiller там много версий одного и того же chart находится
Andor
можно выкинуть хельм
Andor
один мой друг (с) сказал, что это работает
Rainbow
Чем чаще видно слово, тем больше к нему доверия 😬Можно просто не отвечать на вопросы про helm.
Andor
ну ты чо, надо же по звёздочкам в гитлабе решать
Andor
это же не то же самое
V
это же не то же самое
я согласне быть обькетивнее но другого инструмента не знаю. до того как знал helm был свой инструмен
Andor
#helmговно?
Rainbow
да helm хорош.
пару дней сказали чем плох хельм. Он говорит, что "я пакетный менеджер", но это обман. В остальном может быть. Я стороннее по ставлю helm, свое пишу либо просто yaml+envsubst, сейчас думаю про kustomize или ksonnet.
Stas
Кто-то из живых людей истио использует в реальной жизни? (всяких докеркапитанов с bookinfo примерами мы не считаем)
V
я думал там про envoy было чтото
Stas
я просто хочу узнать, как реальные люди правят тот конфиг энвоя, который бутстрапит Pilot: там логи access не в json, там нельзя подтюнить конфиги на http connection manager-е. Мы тут пытались переделать фильтр на статический, а кластера и роуты дискаверить - чет в куске с прописыванием IP Pod-а какая-то магия
Vadim
@vrutkovs же постоянно продвигает. Или с ним что случилось? 😬
я продвигаю, но не использую - не где, у меня и прода-то нет :)
Rainbow
А... диванный istio евангелист 🙌
Rainbow
Тоже хочу продвигать istio без прода 😭
Stas
там любой параметр энвоя сейчас надо через код бутстрапера протягивать (за исключением фильтров, которые еще не включены), но переопределить конфиги фильтров из бутстрапа - прям попоболь дикая
Stas
я не говорю о ручных правках в кластера xDS - это зашквар и так делать не надо, но есть объективные вещи в том же Connection Manager-е, которые можно и нужно тюнить под себя, особенно на Ingress GW
Evgeny
подскажите, в кубе крутится prometheus operator, отдает метрики через ингресс по '<ip>/metrics', так же есть графана снаружи, пытаюсь натравить на этот урл чтобы забирать метрики, но не получается, кто-то делал подобное?
Andor
Нет, никто не делал
Andor
Ты первый
Evgeny
а если по делу? в чем проблема может быть?
Evgeny
если зайти по урлу метрики все видно
Andor
Какие вопрос - такие ответы