самый прикол, что начало это проявляться, когда начал использовать gunicorn и hpa, до этого было просто manage.py был и hpa отключен
как именно спотыкается, что делает обработчик запроса, в чем нужда вообще вешать liveness-пробу...
зачем придумана liveness проба? :) обработчик сразу возвращает хттп 200, ничего не делая. проба спотыкается, говоря, что не получила ответа. и убивает контейнер
что по лимитам\реквестам?
всё прилично. никто не прижат, нагрузка смешная. при этом раньше всё работало одним подом без проблем.
похоже на это: https://github.com/kubernetes/kubernetes/issues/89898 цифры: resources: limits: cpu: 500m memory: 1280Mi requests: cpu: 250m memory: 512Mi
ну я примерно на это тебе и намекаю. дев-сервер который ты запускаешь через manage.py однопоточный. твой gunicorn - вряд ли. лучше всего вообще убрать лимиты по cpu
И потерять qos guaranteed класс, ну ну
чаще всего это разумная цена
Для однопооточников в целом рекомендую отключать liveness. Для той же nodejs event loop застрял, и приехали. Рестарт
да, но... причём тут они? оно же отвечает шустро всем 🤔 для того их и сочинили же ж 🤔 попробую добавить тредов для теста
Значит не отвечает шустро иногда
в гитхабе люди переключают httpGet на exec curl и у них всё ок
У тебя что часто gunicorn зависал? В чем смысл его рестарта непонятно
exec ещё тяжелее
я скорее за приложение парюсь, шоб оно всегда было готово к бою
Ну лайвнесс проба делает его явно не готовым к бою )))
а зубной врач причина удаления зуба ))
Нет, livenessProbe - это при больном зубе держать что-нибудь 40-градусное, чтобы его попустило. В общем случае, livenessProbe не нужно использовать примерно никогда, а особенно в случае с api сервисами - там уместнее readinessProbe и алерты
так readiness же даже тяжелее 🤔 ну будет отключать от траффика... суть та же, с рестартом я хотя бы вижу, что что-то было. алерты... толку, если никто не поможет
Нет, не тяжелее, с чего бы? Нет, суть несколько иная - у тебя запросы перестают попадать на зависшую реплику (а если это что-то внешнее, то зависнут все, как и с livenessProbe уйдут в crashloopbackoff, никакой разницы). Бонусом, возможность дебага по горячим следам, перезапуск тебе ее не оставит. Толку от алертов? А как без них в продакшен идти и без того, кто будет на них реагировать?
есть нюансы... я один и иногда сплю ))) а остальные 6 "айтишников" нихх не понимают
Это и есть проблема, которую надо решать. Опять же, ок - ну хочешь ее оставить, поставь хотя бы частоту пониже и пороги повыше, в комментах к той issues говорится про исчерпание коннектов из-за time_wait на 60с дефолтных + по коннекту на запрос
Обсуждают сегодня