Files
loadtest/History/2026-08-21-egress-confirmed.md
T

37 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 в коде не меняли — по команде пользователя).