Большая часть конфигурации Ingress-NGINX живёт в аннотациях — и именно здесь при переходе на Gateway API чаще всего возникают пробелы.
В Gateway API нет системы аннотаций контроллера в том же смысле. Вместо них — фильтры внутри HTTPRoute, Policy Attachment и расширения конкретных реализаций. Это архитектурное решение, а не недоработка.
Несколько конкретных примеров:
nginx.ingress.kubernetes.io/limit-rps настраивает rate limiting. В Gateway API аналог реализуется через политики, привязанные к маршруту или gateway. Но синтаксис зависит от реализации — Istio, Envoy Gateway и Kgateway делают это по-разному. Единого стандарта пока нет.nginx.ingress.kubernetes.io/auth-url подключает внешнюю аутентификацию через subrequest. Аналог в Gateway API — внешние фильтры через ExtensionRef. Зависит от реализации и требует отдельной проверки.nginx.ingress.kubernetes.io/configuration-snippet позволяла вставлять произвольные директивы в конфиг NGINX. В Gateway API такого механизма нет — это намеренное решение ради безопасности. Если сниппеты активно использовались, нужно найти другой способ реализовать ту же логику.Составьте список всех аннотаций из текущих Ingress-ресурсов и проверьте их поддержку в выбранной реализации Gateway API. Лучше сделать это до выбора реализации, а не после.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера