From c3dca3850ac51c0b90284b51c6c38aa8c54c11b8 Mon Sep 17 00:00:00 2001 From: naeel Date: Tue, 18 Aug 2026 10:56:35 +0400 Subject: [PATCH] =?UTF-8?q?Docs:=20=D0=BF=D0=BB=D0=B0=D0=BD=20(=D0=BE?= =?UTF-8?q?=D1=82=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD)=20=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8=20ingress-=D0=B0=D0=BD=D0=BD=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B9=20=D0=BD=D0=B0=20iot-naeel=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=83=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B7=D0=B0=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B8?= =?UTF-8?q?=20~51=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- History/plan-2026-08-18-ingress-fix.md | 40 ++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 History/plan-2026-08-18-ingress-fix.md diff --git a/History/plan-2026-08-18-ingress-fix.md b/History/plan-2026-08-18-ingress-fix.md new file mode 100644 index 0000000..0a1b1c2 --- /dev/null +++ b/History/plan-2026-08-18-ingress-fix.md @@ -0,0 +1,40 @@ +# План (НЕ ВЫПОЛНЕН, отложен): правка ingless-аннотаций на iot-naeel для устранения задержки ~51с + +_Дата: 2026-08-18. Статус: только документ, НИЧЕГО не правилось._ + +## Контекст +- Инстанс loadtest сейчас НЕ на iot-naeel (передеплоен на общий кластер `k8s-4-sandbox-nubes-ru`). +- Правку аннотаций на iot-naeel по команде пользователя ПОКА НЕ делать. + +## Факты, выясненные на iot-naeel (до передеплоя) +1. Ingress loadtest в ns `bb9ed30b-...` уже содержит аннотации: + - `nginx.ingress.kubernetes.io/proxy-body-size: 1024m` + - `proxy-connect-timeout: 120`, `proxy-read-timeout: 600`, `proxy-send-timeout: 600` +2. Ingress-class = `nginx`, controller = **`shturval-ingress-controller`** (брендированный + ingress-nginx), namespace `ingress` (НЕ `ingress-nginx`). +3. Глобальный configmap `ingress/shturval-ingress-controller-controller`: + - `client-body-buffer-size: 2m` + - **`client-body-timeout: "60"`** ← вероятная причина ~51.5 с + - `client-header-timeout: "30"` + - `proxy-body-size: 1024m` +4. Права: `kubectl auth can-i patch/update ingress` = **yes** (можем править свой ingress). + Глобальный configmap в ns `ingress` — НЕ наш, его не трогаем. + +## Почему ~51.5 с (гипотеза) +- `client-body-timeout: 60` глобально → при буферизации тела больше ~2МБ (или при + притормаживании потока) nginx ждёт чтения до таймаута ~60 с; наблюдаем ~51.5 с. +- Аннотации read/send-timeout 600 не виноваты (они выше). + +## План (если решат выполнить — на iot-naeel) +1. На ingress `loadtest` добавить аннотацию + `nginx.ingress.kubernetes.io/proxy-request-buffering: "false"` — отключить буферизацию + тела на этом ингрессе (обратимо). +2. Прогнать тест: 100 КБ / 1 МБ → проверить, ушла ли задержка ~51 с. +3. Если не помогла — вернуть, рассмотреть `client_body_timeout` (глобально нельзя, наш ns не тот) + или вариант с чанкованной отправкой на клиенте. +4. ВАЖНО: это правка боевого ingress → только после явной команды "делай". + +## Замечание +- На общем кластере (`k8s-4-sandbox`) доступа к ingress/ns нет (нужен параметр аннотации в ЛК, + задачу разработчик платформы уже завёл). +- Это два разных мира: iot-naeel — правим сами; общий кластер — только через платформу.