После завершения поддержки ingress-nginx Kubernetes-сообщество рекомендует переходить на Gateway API. Его главная идея — разделить ответственность между платформенной командой и разработчиками.
Как это устроено:
🆚 GatewayClass — выбирает контроллер (Envoy Gateway, Cilium, Traefik).
🆚 Gateway — описывает точку входа в кластер: порты, протоколы и TLS.
🆚 HTTPRoute — содержит маршруты конкретного приложения.
В отличие от Ingress, где всё находится в одном ресурсе с большим количеством аннотаций, Gateway API делает конфигурацию более понятной, расширяемой и независимой от конкретного контроллера.
Какой контроллер выбрать:
✅ Envoy Gateway — максимально полная поддержка спецификации Gateway API.
✅ Cilium — хороший выбор, если он уже используется как CNI.
✅ Traefik — подойдёт для постепенной миграции с сохранением поддержки существующих Ingress-ресурсов.
🔤 Как начать миграцию:
Для большинства базовых Ingress-ресурсов можно воспользоваться официальным конвертером:
go install sigs.k8s.io/ingress2gateway@latest
ingress2gateway print --namespace default
Он преобразует существующие Ingress-ресурсы в Gateway API YAML. Аннотации, завязанные на конкретный Ingress Controller, придётся перенести вручную.
💡 Если планируете переход, начните с dev-окружения: протестируйте маршрутизацию, затем staging и только после этого переносите production.
📎 Подробнее
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера #kubernetes #gatewayapi #ingress
