Lucky SB
в кубовом ингресс нгинкс контроллере раньше релоад был. были проблемы с вебсокетами. щас там луа-скрипт динамически все роутит
Konstantine
И да, нжинксовый нжинкс(который от Нжинкс Инк :-)) абсолютно точно релоадится внутри контроллера. Лично наблюдал.
Lucky SB
а меня цитируете. Это прикол такой?
не. это я к тому, что может быть все что угодно.... утверждение было изначальное про то что стандартный ингресс контроллер рвет трафик
George
стандартный это какой? который от энжинкс инк? или который в кубе типа стандартный?
Konstantine
Lucky SB
Lucky SB
что все используют )
George
коллеги из Флант утверждали, что именно ТОТ действительно релоадился постоянно
George
и в связи с этим он якобы мог терять коннекшены, т.к. цпу в полку был
George
при частом изменении конфига сервисов в кубе
Just a baka
при цпу в полку и не такое бывает
Konstantine
Там вроде действительно всё на Луа, но, если верить докам nginx "Don't use Lua".
Konstantine
По крайней мере - в старых доках действительно такое писали :-)
Lucky SB
George
в новых тоже не айс. Вывод - ингресс на nginx не торт?
George
и пока nginx не сделали более нормально (с луа)
Lucky SB
ссылкой поделишься?
George
https://habr.com/ru/company/flant/blog/447180/
George
https://github.com/flant/ingress-nginx
George
вроде этот
George
но это не точно
Lucky SB
George
да
George
всегда мечтал
Lucky SB
фу
Lucky SB
слив защитан
George
ну сам посмотри https://hub.docker.com/r/flant/kubernetes-nginx-ingress-bm-fallback-iptables
George
у них были свои наработки. И более того - они их активно пиарили в какой-то момент
George
но это было давно. И, да, это была неправда ))))
Vadim
успокойтесь уже
George
David
Мы релизнем скоро правильный ingress
David
До августа, ориентировочно.
George
🔥
Just a baka
есть ссылка на оф. доку?
конечно, нет, так как в оф доке как раз и написано, как он без отрыва от обслуживания клиентов релоадит конфигурацию или откатывается при ошибке
и в доке ингресса написано, что он делает именно релоад
и разумеется в коде блджад контроллера тоже написано про релоад))
George
я думаю, что это вопрос формулировок
George
"без отрыва от обслуживания клиентов"
George
СУЩЕСТВУЮЩИХ или НОВЫХ?
George
и еще я в один момент, извините, въебался в reuseport в nginx
George
я этого им до сих пор простить не могу
Just a baka
George
ибо клиенты получали RST
Just a baka
воркеры рестартятся по одному, все тупо как пробка
George
это если их несколько
George
а если он один?
Just a baka
кто в здравом уме будет так делать?
Just a baka
это аутизм, спавнить 1 воркера и думать, что он будет graceful reload уметь
George
была же проблема, что nginx неправильно детектил workers в докере. Следовательно, он это криво делал и в кубе. А, следовательно, количество воркеров очевидно должны были выставить руками
Yuri
есть ссылка на оф. доку?
В офф доках конечно нет, https://kubernetes.github.io/ingress-nginx/how-it-works/#nginx-configuration тут есть список когда nginx перегружает конфиг
Just a baka
http://nginx.org/en/docs/control.html#reconfiguration
https://github.com/kubernetes/ingress-nginx/blob/master/docs/how-it-works.md
https://github.com/kubernetes/ingress-nginx/blob/master/internal/ingress/controller/nginx.go#L725
George
@danpiel Just a baka открыл ингрес.
George
В явном виде количества воркеров не вижу
George
но!
George
./test/data/config.json: "workerProcesses": 1,
George
я нашел такое прекрасное
Just a baka
> test
обожемывсеумрем
Just a baka
Там невесть в каком году зафиксили это дело с cgroups. Надо смотреть в репу nginx, конечно, а не гошечку колупать
George
./Changelog.md:- [X] [#516](https://github.com/kubernetes/ingress/pull/516) Convert WorkerProcesses setting to string to allow the value auto
./internal/ingress/controller/config/config.go: WorkerProcesses string `json:"worker-processes,omitempty"`
./internal/ingress/controller/config/config.go: WorkerProcesses: strconv.Itoa(runtime.NumCPU()),
./internal/ingress/controller/nginx.go: wp, err := strconv.Atoi(cfg.WorkerProcesses)
./rootfs/etc/nginx/template/nginx.tmpl:worker_processes {{ $cfg.WorkerProcesses }};
George
runtime.NumCPU() < ======= вот здесь дефолты
George
George
смотри темплейты
Grisha
Ребзя, подскажите плиз, у меня по питанию выпала одна нода, поды которые на ней были запущены, находятся в состоянии Terminating и так висят уже много часов, это норм или как-то лечится?
Grisha
если под пытаться удалить через delete pod, то будет сидеть очень долго и не удалит
Just a baka
на самом деле ты не прав, т.к. там запросто не auto стоит
Спор ни о чем, была бага с cgroups и голым nginx - пофиксили. Кто не чекает свои настройки, кластера итд - ССЗБ. Каким боком тут стоит контроллер? Ну кормит он nginx по дефолту количеством ядер, но умеет и auto отдавать.
Petr
Всем привет
Может кто нибудь сталкивался с такой штукой как синхронизация какого либо pv?
Есть несколько нод и нужна синхронизация всего, что там есть внутри
Сейчас работают 3 ноды и если с одного деплоймента создаешь что-либо, то в другом примаунченом поде этого файла не появляется (есессно маунты прописаны)
Petr
А если делаешь делет пода старого, то новый уже создается с этим файлом
Grisha
Семён
Семён
от ceph (сложно, надёжно, rdb низя примонтировать на много нод) до NFS - где очень просто но может навернуться
Petr
Надежность пока вообще не интересует, пока все в деве, надо хотя бы понять как все это работать может
Семён
тогда прикручивай либо внешний NFS
Семён
либо GlusterFS
George
Семён
Petr
Спасибо вам добрые люди, в какую сторону сейчас смотреть уже понятно
Семён