~/guides/ingress-nginx-retirement-gateway-api-migration

Nginx

Ingress NGINX Controller больше не поддерживается: практический план миграции на Gateway API

Что означает retirement проекта Ingress NGINX для существующих кластеров и как перенести аннотации в HTTPRoute.

Проект Ingress NGINX Controller прекратил сопровождение в марте 2026 года — новых релизов, багфиксов и патчей безопасности больше не будет. Kubernetes 1.35 закрепляет это как факт экосистемы. Существующие развёртывания продолжают работать, но без патчей безопасности риск накапливается со временем, а не проявляется мгновенно.

Что конкретно означает retirement

Контроллер не удаляется из уже работающих кластеров и не ломается сам по себе. Прекращается разработка: новые CVE не будут закрываться, совместимость с новыми версиями Kubernetes не гарантируется на будущее, а сообщество официально рекомендует переход на Gateway API как поддерживаемую альтернативу.

Структурная разница с Gateway API

Ingress — плоская модель с одним ресурсом и аннотациями для расширенной функциональности. Gateway API — слоистая модель из нескольких типов ресурсов.

Ресурс Ingress Аналог в Gateway API
Ingress целиком Gateway + один или несколько HTTPRoute
Аннотации контроллера Filters внутри HTTPRoute, либо policy-объекты
IngressClass GatewayClass

Частая ловушка — не все аннотации переносятся один в один

Базовые вещи вроде path-based routing и rewrite переносятся напрямую в HTTPRoute filters. Более специфичные аннотации (продвинутые rate-limit паттерны, кастомные CORS-конфигурации) часто реализованы только через policy-расширения конкретной реализации Gateway API контроллера — единого стандарта для них пока нет.

Практический порядок миграции

Сначала выберите реализацию Gateway API (Envoy Gateway, Cilium, облачная реализация провайдера). Затем переносите правила маршрутизации постепенно, начиная с самых простых Ingress-объектов, проверяя каждый на реальном трафике до перехода к следующему, а не одним массовым переключением.

Как ускорить перенос типовых аннотаций

Ручной перевод десятков Ingress-объектов с аннотациями в HTTPRoute долго и легко ошибиться в структуре filters. Ingress NGINX Annotations to Gateway API Converter собирает базовый фрагмент HTTPRoute по введённым аннотациям и явно помечает то, что требует ручного решения.

Итоговый чеклист

Retirement Ingress NGINX не означает немедленный сбой — существующие развёртывания продолжают работать, но риск копится без патчей безопасности.

Gateway API — слоистая модель из Gateway и HTTPRoute, а не прямая замена одного файла другим по структуре.

Часть продвинутых аннотаций не имеет единого нативного эквивалента и требует policy-расширения конкретной реализации контроллера.