History: EGRESS подтверждён — Flask тянет 10MB с ВМ, схема ВМ-буфер работает

This commit is contained in:
“Naeel”
2026-08-21 15:11:23 +03:00
parent ab9a82a33d
commit 820d088d7d
+36
View File
@@ -0,0 +1,36 @@
# 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).
## Что сделано
1. ВМ (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
2. 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 в коде не меняли — по команде пользователя).