# 2026-08-21 — LoadTest: сборка Docker-образа для «Простой HTTP контейнер» _Дата: 2026-08-21. Ветка: master. Состояние Flask сохранено в ветке `flask-state` (запушена)._ ## Задача Перевести loadtest с managed-Flask (gitPath, без аннотаций) на «Простой HTTP контейнер»: образ + переменные пода + аннотации к Ingress (раньше правили кубером на своём кластере). ## Что сделано 1. Ветка `flask-state` — сохранение состояния Flask (запушена в origin). 2. `Dockerfile` в loadtest (master): - `python:3.12-slim`, WORKDIR /app, requirements.txt, COPY site/, EXPOSE 5000 - CMD gunicorn `--timeout 300 --workers 1 site.app:app` - Один EXPOSE (5000) — требование платформы (порт берётся из EXPOSE). 3. Сборка на ВМ (SSH remote-dev, docker 29.1.3): `docker build -t naeel/loadtest:v2.0.0` - Контекст: `/home/naeel/loadtest-build` (rsync из локального loadtest). - Логин Docker Hub на ВМ уже есть (`naeel`). 4. Push: `naeel/loadtest:v2.0.0` — digest `sha256:432a8742...`, linux/amd64, ~50MB, публичный. ## Данные для формы «Простой HTTP контейнер» - **Путь до образа:** `naeel/loadtest:v2.0.0` - **Переменные пода:** `{}` (секретов/окружения нет) - **Дополнительные аннотации к Ingress** (JSON): ```json { "nginx.ingress.kubernetes.io/proxy-body-size": "1024m", "nginx.ingress.kubernetes.io/proxy-connect-timeout": "120", "nginx.ingress.kubernetes.io/proxy-read-timeout": "600", "nginx.ingress.kubernetes.io/proxy-send-timeout": "600", "nginx.ingress.kubernetes.io/proxy-request-buffering": "false" } ``` ## Почему эти аннотации Взяты из правок, которые раньше делали кубером на iot-naeel (см. History drhider): - `proxy-body-size 1024m` — лимит тела (на общем кластере >64КБ обрывало: HTTP 000 ~10с). - `connect/read/send-timeout 120/600/600` — таймауты (drhider ingress те же значения). - `proxy-request-buffering false` — отключение буферизации тела (план, не выполненный на iot-naeel). ## Обновление образа Только пересоздание контейнера с новым тегом (`latest` кэшируется зеркалом платформы). В своём кластере — `kubectl -n set image deployment/containerk8s app=naeel/loadtest:`.