Docs: связка обрыва >64КБ с лимитом тела на внешнем ingress (подтверждено разработчиком платформы)
This commit is contained in:
@@ -0,0 +1,42 @@
|
|||||||
|
# Связка: обрыв >64КБ — лимит тела на внешнем ingress (подтверждено разработчиком платформы)
|
||||||
|
|
||||||
|
_Дата: 2026-08-18. Анонимно (без реальных имён)._
|
||||||
|
|
||||||
|
## Контекст
|
||||||
|
На общем кластере (`k8s-4-sandbox-nubes-ru`) HTTP-тела >~64-68 КБ обрываются (HTTP 000,
|
||||||
|
~10.2 с, TTFB=0). На iot-naeel — задержка ~51.5 с, но 200. Приложение/Flask/сеть кластера
|
||||||
|
мгновенные (проверено внутри кластера).
|
||||||
|
|
||||||
|
## Разговор с разработчиком платформы (суть)
|
||||||
|
- Разработчик: «сервис публикуется в интернет, нужно добавить аннотацию для ингресса
|
||||||
|
(типа proxy-body-size / client_max_body_size), параметр находится в ns».
|
||||||
|
- Пользователь: «деплой на managed — доступа к ns нет; где это задаётся в "Создание
|
||||||
|
экземпляра: Web-сервер с фреймворком Flask"?».
|
||||||
|
- Пользователь подтвердил: после редеплоя contractor на `k8s-4-sandbox-nubes-ru`
|
||||||
|
«всё, более 64К не приемлет».
|
||||||
|
- Разработчик признал: «нужно сделать параметр для аннотации... спутал с внутренними
|
||||||
|
сервисами разработки». Заведена таска, «пока руки не доходят».
|
||||||
|
- Инцидент подтверждает: ограничение на **внешнем ingress/шлюзе** (лимит тела ~64КБ
|
||||||
|
/ буферизация), управление им — на стороне платформы (ЛК/аннотация), а не в коде.
|
||||||
|
|
||||||
|
## Диагноз
|
||||||
|
- Симптом `HTTP 000, ~10 с, TTFB=0` при телах >~64-68 КБ = внешний ingress/шлюз
|
||||||
|
(client_max_body_size / client_body_buffer_size / send_timeout).
|
||||||
|
- На iot-naeel тот же слой, но иначе настроен (~50с, пропускает).
|
||||||
|
- **Это не фикс в коде приложения** — нужен параметр/аннотация ingress в платформе
|
||||||
|
(который разработчик обещал добавить).
|
||||||
|
|
||||||
|
## Два ОТДЕЛЬНЫХ ограничения (не путать)
|
||||||
|
1. **Вход (внешний ingress/шлюз)** — лимит размера тела ~64КБ → решается
|
||||||
|
аннотацией ingress (`proxy-body-size` / `client_max_body_size`) на платформе.
|
||||||
|
2. **Память пода** (напр. contractor лимит 1Gi) — тяжёлый синхронный парсинг большого
|
||||||
|
файла → OOM (502) → решается памятью инстанса ИЛИ выносом парсинга из запроса.
|
||||||
|
|
||||||
|
## Статус
|
||||||
|
- Платформа: задача на добавление параметра аннотации ingress — заведена, в работе.
|
||||||
|
- Код loadtest: готов для повторных замеров после появления параметра.
|
||||||
|
|
||||||
|
## Файлы
|
||||||
|
- `History/diag-2026-08-18-msg-delay.md`
|
||||||
|
- `History/diag-2026-08-18-compare-clusters.md`
|
||||||
|
- `History/session-2026-08-18-msg-delay.md`
|
||||||
Reference in New Issue
Block a user