172 похожих чатов

Кто-То сталкивался с тем, что liveness probe httpGet спотыкается ?

самый прикол, что начало это проявляться, когда начал использовать gunicorn и hpa, до этого было просто manage.py был и hpa отключен

24 ответов

28 просмотров

как именно спотыкается, что делает обработчик запроса, в чем нужда вообще вешать liveness-пробу...

Oleg Kamikaze- Автор вопроса

зачем придумана liveness проба? :) обработчик сразу возвращает хттп 200, ничего не делая. проба спотыкается, говоря, что не получила ответа. и убивает контейнер

Oleg Kamikaze- Автор вопроса
Andrey
что по лимитам\реквестам?

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

Oleg Kamikaze- Автор вопроса
Andrey
цифры плз

похоже на это: https://github.com/kubernetes/kubernetes/issues/89898 цифры: resources: limits: cpu: 500m memory: 1280Mi requests: cpu: 250m memory: 512Mi

Oleg Kamikaze
похоже на это: https://github.com/kubernetes/kub...

ну я примерно на это тебе и намекаю. дев-сервер который ты запускаешь через manage.py однопоточный. твой gunicorn - вряд ли. лучше всего вообще убрать лимиты по cpu

George Gaál
И потерять qos guaranteed класс, ну ну

чаще всего это разумная цена

Oleg Kamikaze
похоже на это: https://github.com/kubernetes/kub...

Для однопооточников в целом рекомендую отключать liveness. Для той же nodejs event loop застрял, и приехали. Рестарт

Oleg Kamikaze- Автор вопроса
Dmitry Sergeev 🇺🇦
Для однопооточников в целом рекомендую отключать l...

да, но... причём тут они? оно же отвечает шустро всем 🤔 для того их и сочинили же ж 🤔 попробую добавить тредов для теста

Oleg Kamikaze- Автор вопроса
Dmitry Sergeev 🇺🇦
Значит не отвечает шустро иногда

в гитхабе люди переключают httpGet на exec curl и у них всё ок

У тебя что часто gunicorn зависал? В чем смысл его рестарта непонятно

Oleg Kamikaze- Автор вопроса
Dmitry Sergeev 🇺🇦
У тебя что часто gunicorn зависал? В чем смысл его...

я скорее за приложение парюсь, шоб оно всегда было готово к бою

Oleg Kamikaze
я скорее за приложение парюсь, шоб оно всегда было...

Ну лайвнесс проба делает его явно не готовым к бою )))

Oleg Kamikaze- Автор вопроса

а зубной врач причина удаления зуба ))

Oleg Kamikaze
а зубной врач причина удаления зуба ))

Нет, livenessProbe - это при больном зубе держать что-нибудь 40-градусное, чтобы его попустило. В общем случае, livenessProbe не нужно использовать примерно никогда, а особенно в случае с api сервисами - там уместнее readinessProbe и алерты

Oleg Kamikaze- Автор вопроса
Andrey
Нет, livenessProbe - это при больном зубе держать ...

так readiness же даже тяжелее 🤔 ну будет отключать от траффика... суть та же, с рестартом я хотя бы вижу, что что-то было. алерты... толку, если никто не поможет

Нет, не тяжелее, с чего бы? Нет, суть несколько иная - у тебя запросы перестают попадать на зависшую реплику (а если это что-то внешнее, то зависнут все, как и с livenessProbe уйдут в crashloopbackoff, никакой разницы). Бонусом, возможность дебага по горячим следам, перезапуск тебе ее не оставит. Толку от алертов? А как без них в продакшен идти и без того, кто будет на них реагировать?

Oleg Kamikaze- Автор вопроса
Andrey
Нет, не тяжелее, с чего бы? Нет, суть несколько ин...

есть нюансы... я один и иногда сплю ))) а остальные 6 "айтишников" нихх не понимают

Oleg Kamikaze
есть нюансы... я один и иногда сплю ))) а остальны...

Это и есть проблема, которую надо решать. Опять же, ок - ну хочешь ее оставить, поставь хотя бы частоту пониже и пороги повыше, в комментах к той issues говорится про исчерпание коннектов из-за time_wait на 60с дефолтных + по коннекту на запрос

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Карта сайта