Главное различие в архитектуре управления трафиком.
Ingress задаёт правила маршрутизации, а Ingress Controller обычно одновременно:
- следит за конфигурацией;
- обновляет правила;
- сам проксирует трафик.
С Gateway API логика похожа: вы описываете
Gateway, HTTPRoute, GRPCRoute, а контроллер превращает их в рабочую конфигурацию.Например, в NGINX Gateway Fabric control plane и data plane разделены:
- Control plane: контроллер читает Gateway API-ресурсы и формирует конфигурацию.
- Data plane: отдельный NGINX pod принимает и маршрутизирует трафик.
- Между ними конфигурация передаётся через gRPC.
В итоге Gateway API даёт более гибкую и расширяемую модель маршрутизации, особенно для сложной инфраструктуры и нескольких команд.
Коротко: Ingress проще и привычнее. Gateway API предлагает более современную архитектуру с чётким разделением управления и обработки трафика.
