Перейти к основному содержимому

Ingress → Gateway API (миграция)

Статус: 🔄 В процессе — миграция начата.

Платформа переходит с nginx Ingress Controller на Kubernetes Gateway API. Подробное описание мотивации и техническое сравнение — в документации Media.

Текущее состояние

Ingress (используется сейчас)

Каждое окружение имеет свой Ingress class:

  • mysport-ingress — Media dev/prod
  • witisi-ingress — Witisi prod
  • scount-ingress — Scount dev/prod

Маршрутизация для Media prod реализована через public-gateway — Envoy pod с монолитным конфигом envoy.yaml (~790 строк, ~20 брендзон). Добавить новую брендзону = дописать блок в этот файл.

Gateway API (целевое состояние)

Монолитный envoy.yaml заменяется на отдельные HTTPRoute-ресурсы по одному на брендзону. Envoy Gateway — рекомендуемая реализация (тот же движок, стандартный K8s API).

Maintenance mode

Текущий подход: nginx аннотации → заголовок X_APP_STATE: maintenance → Envoy маршрутизирует на страницу обслуживания.

Управляется через values.yaml:

global:
cluster:
appState: maintenance # production | maintenance

После миграции на Gateway API — через weight в HTTPRoute (см. документацию Media).