2.3 KiB
2.3 KiB
2026-08-21 — EGRESS подтверждён: Flask (managed) тянет большие файлы с ВМ
Дата: 2026-08-21. Инстанс: http-12.containerk8s.dev.nubes.ru (k8s-4-sandbox), образ v2.0.2.
Суть
Проверена схема «ВМ-буфер + Flask тянет сам (pull)»: браузер → ВМ (большой файл, без шлюза); ВМ шлёт маленький POST с метаданными; Flask САМ тянет файл с ВМ исходящим GET (egress).
Что сделано
- ВМ (5.172.178.213): раздача статических файлов через существующий nginx
(
nginx-contracts.conf, добавленlocation /lt-serve/→/var/www/lt-serve/):https://contracts.kube5s.ru/lt-serve/big-1m.bin— 200, 1MB, ~0.2сhttps://contracts.kube5s.ru/lt-serve/big-10m.bin— 200, 10MB, ~1.0с- Backup конфига: /tmp/nginx-contracts.conf.bak.20260821
- LoadTest: временный endpoint
/fetch?url=...(исходящий GET, возвращает статус+размер). Образnaeel/loadtest:v2.0.2.
Результат egress (ЗАПРОС ИЗ КЛАСТЕРА, managed-контейнер)
| Тест | Результат |
|---|---|
/fetch 1MB (contracts.kube5s.ru) |
200, size 1048576, ~302мс |
/fetch 10MB |
200, size 10485760, ~889мс |
Вывод
- Egress из managed-кластера наружу РАЗРЕШЁН; большие ОТВЕТЫ проходят без обрывов.
- Входной шлюз платформы (лимит ~64КБ, обрывы POST ~10с) в egress НЕ участвует.
- Схема «ВМ = временный склад + pull» РАБОТАЕТ: данные наружу не выходят (браузер → ВМ напрямую, Flask тянет с ВМ; ВМ → внешний вход не используется).
Наблюдение (прокси)
Локальные curl-ы на Krupski идут через HTTP-прокси (172.17.192.1:10808), который
душит передачу (обрыв ~16КБ). Тесты извне — ТОЛЬКО с --noproxy '*'.
Замечание
Версия в морде/health осталась v2.0.0 (VERSION в коде не меняли — по команде пользователя).