3.0 KiB
3.0 KiB
План (НЕ ВЫПОЛНЕН, отложен): правка ingless-аннотаций на iot-naeel для устранения задержки ~51с
Дата: 2026-08-18. Статус: только документ, НИЧЕГО не правилось.
Контекст
- Инстанс loadtest сейчас НЕ на iot-naeel (передеплоен на общий кластер
k8s-4-sandbox-nubes-ru). - Правку аннотаций на iot-naeel по команде пользователя ПОКА НЕ делать.
Факты, выясненные на iot-naeel (до передеплоя)
- Ingress loadtest в ns
bb9ed30b-...уже содержит аннотации:nginx.ingress.kubernetes.io/proxy-body-size: 1024mproxy-connect-timeout: 120,proxy-read-timeout: 600,proxy-send-timeout: 600
- Ingress-class =
nginx, controller =shturval-ingress-controller(брендированный ingress-nginx), namespaceingress(НЕingress-nginx). - Глобальный configmap
ingress/shturval-ingress-controller-controller:client-body-buffer-size: 2mclient-body-timeout: "60"← вероятная причина ~51.5 сclient-header-timeout: "30"proxy-body-size: 1024m
- Права:
kubectl auth can-i patch/update ingress= yes (можем править свой ingress). Глобальный configmap в nsingress— НЕ наш, его не трогаем.
Почему ~51.5 с (гипотеза)
client-body-timeout: 60глобально → при буферизации тела больше ~2МБ (или при притормаживании потока) nginx ждёт чтения до таймаута ~60 с; наблюдаем ~51.5 с.- Аннотации read/send-timeout 600 не виноваты (они выше).
План (если решат выполнить — на iot-naeel)
- На ingress
loadtestдобавить аннотациюnginx.ingress.kubernetes.io/proxy-request-buffering: "false"— отключить буферизацию тела на этом ингрессе (обратимо). - Прогнать тест: 100 КБ / 1 МБ → проверить, ушла ли задержка ~51 с.
- Если не помогла — вернуть, рассмотреть
client_body_timeout(глобально нельзя, наш ns не тот) или вариант с чанкованной отправкой на клиенте. - ВАЖНО: это правка боевого ingress → только после явной команды "делай".
Замечание
- На общем кластере (
k8s-4-sandbox) доступа к ingress/ns нет (нужен параметр аннотации в ЛК, задачу разработчик платформы уже завёл). - Это два разных мира: iot-naeel — правим сами; общий кластер — только через платформу.