From 820d088d7d44ae2e6125f49f0e02d8583bceee71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Fri, 21 Aug 2026 15:11:23 +0300 Subject: [PATCH] =?UTF-8?q?History:=20EGRESS=20=D0=BF=D0=BE=D0=B4=D1=82?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=B6=D0=B4=D1=91=D0=BD=20=E2=80=94=20Flask?= =?UTF-8?q?=20=D1=82=D1=8F=D0=BD=D0=B5=D1=82=2010MB=20=D1=81=20=D0=92?= =?UTF-8?q?=D0=9C,=20=D1=81=D1=85=D0=B5=D0=BC=D0=B0=20=D0=92=D0=9C-=D0=B1?= =?UTF-8?q?=D1=83=D1=84=D0=B5=D1=80=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= =?UTF-8?q?=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- History/2026-08-21-egress-confirmed.md | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 History/2026-08-21-egress-confirmed.md diff --git a/History/2026-08-21-egress-confirmed.md b/History/2026-08-21-egress-confirmed.md new file mode 100644 index 0000000..b0f10d0 --- /dev/null +++ b/History/2026-08-21-egress-confirmed.md @@ -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 в коде не меняли — по команде пользователя).