Платформа
Стратегии выката
Выкат — это всегда переключение трафика между ревизиями. Платформа не модифицирует работающие инстансы: новая ревизия поднимается рядом, проходит проверки и только затем начинает получать запросы.
Rolling
Стратегия по умолчанию. Инстансы заменяются порциями; размер порции равен
max(1, ceil(0.25 × текущее число инстансов)). Старый инстанс
выводится из ротации, дожидается завершения активных запросов (до
drain_timeout) и останавливается.
[deploy]
strategy = "rolling"
health_path = "/healthz"
health_timeout = "5s"
health_interval = "2s"
healthy_threshold = 2
drain_timeout = "30s"Canary
Новая ревизия получает фиксированную долю трафика. Решение о продвижении принимаете вы или автоматика по метрикам ошибок.
vlone deploy --strategy canary --canary-percent 5
vlone canary status
# r185 5% трафика ошибки 0.04% (база 0.05%) p95 128ms (база 131ms)
vlone canary promote # перевести на 100%
vlone canary abort # вернуть весь трафик на r184Автопродвижение настраивается порогами: если за окно наблюдения доля 5xx и p95 не ухудшились больше допустимого, доля трафика растёт по шагам.
[deploy.canary]
steps = [5, 25, 50, 100]
step_duration = "10m"
max_error_rate_delta = 0.5 # процентных пункта
max_p95_delta = "40ms"
on_breach = "abort" # abort | pauseПороги сравниваются с базовой ревизией за то же окно, а не с абсолютными значениями. Так ночное падение трафика не выглядит как улучшение.
Blue-green
Обе ревизии держатся полностью развёрнутыми, переключение мгновенное. Стратегия дороже по ресурсам, но даёт самый быстрый откат.
vlone deploy --strategy blue-green
vlone traffic switch r186 # мгновенное переключение
vlone traffic switch r185 # откат тем же способомHealth-проверки
Ревизия считается здоровой после healthy_threshold успешных
ответов подряд. Проверка выполняется изнутри сети региона, без прохождения
через публичный балансировщик.
| Ответ | Трактовка |
|---|---|
200–299 | Здоров |
429 | Здоров, но перегружен — инстанс не получает новый трафик |
500–599 | Нездоров |
| Таймаут | Нездоров |
| Разрыв соединения | Нездоров, инстанс перезапускается |
Откат
Откат переключает трафик на существующую ревизию и не запускает сборку.
vlone rollback # на предыдущую активную
vlone rollback r183 # на конкретную
vlone rollback --waitОткат возвращает код и конфигурацию ревизии, но не откатывает миграции БД и внешнее состояние. Планируйте схему так, чтобы соседние ревизии были совместимы.