Зафиксированы очередь job, семантика метрик, лимиты бандла и исходящих запросов, а также чеклист продакшена для пула соединений. Co-authored-by: Cursor <[email protected]>
4.0 KiB
Ресурсы и данные Docker
Этот файл сопровождает профили в deploy/compose/. Текущие значения deploy.resources.limits — верхние границы, а не измеренное потребление. Сумма лимитов microvps-full с edge и без NATS — 984M. Её нельзя считать подтверждением пригодности для VPS с 1 ГиБ RAM: нужны измерения ОС, Docker, BIRD и пиков refresh/apply. Лимиты BIRD и agent до таких измерений не снижены.
Дополнительный NATS
Во всех основных Compose-вариантах NATS запускается только через --profile nats (или COMPOSE_PROFILES=nats для standalone stack). В коде EVOBGP_BROKER_URL только записывается в лог: внутренняя очередь не использует NATS. Перед отключением NATS на существующем хосте проверьте внешних клиентов порта 4222. Профиль не удаляет данные NATS и не меняет BIRD, WireGuard, agent или их тома.
Данные Prometheus
Prometheus монтирует named volume prometheus_data в /prometheus. Retention по времени: 7 дней для microvps-full/standalone и 15 дней для reference; дополнительный предел по размеру задаёт EVOBGP_PROMETHEUS_RETENTION_SIZE (по умолчанию 2GB). Это предел данных TSDB, а не строгий предел диска процесса: WAL и head block требуют отдельного запаса. Для самого маленького хоста сначала измерьте прирост диска и число серий, затем установите размер под доступную ёмкость.
Обновление существующего стека: прежний образ Prometheus мог хранить историю в анонимном Docker volume. Простое пересоздание контейнера с новым named volume покажет пустую историю. До up найдите текущий mount через docker inspect <prometheus-container>: у записи с Destination=/prometheus сохраните Name/Source и сделайте резервную копию. Для файлового копирования сначала остановите Prometheus либо используйте его поддерживаемый snapshot API. Перенесите содержимое старого тома в новый том с сохранением прав владельца; фактическое имя нового тома содержит префикс Compose project (проверьте через docker volume ls и docker inspect). Можно осознанно начать новую историю после проверки бэкапа. Проверьте запросы Prometheus до и после recreate. Не запускайте docker compose down -v: это удаляет также PostgreSQL, BIRD и другие тома проекта. В production перенос выполняйте отдельно от обновления BIRD/agent.
Проверка эффекта
На одном оборудовании и одинаковом наборе маршрутов сравните docker compose config, docker inspect (фактические лимиты и mount), docker stats, docker system df -v, размер логов за сутки, cold/warm build и pull. После изменения проверьте отсутствие OOM/restarts и BGP flaps, совпадение prefix/community, работу apply/rollback и latency API. Локальная среда разработки без Docker не подтверждает экономию RAM или диска.