Files
loadtest/History/diag-2026-08-18-ingress-annotation.md
T

3.3 KiB
Raw Blame History

Связка: обрыв >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