👍
Gateway API — современная замена Ingress. С чего начать миграцию
После завершения поддержки 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