Gateway API
Traffic routing model as an alternative to Ingress.
На этой странице
Starting in release 2.14, the Shturval platform GUI supports management of Gateway API objects. This helps prepare for the transition from Nginx Ingress Controller to Gateway API and simplifies routing configuration for different Service Mesh implementations (Istio, Cilium, etc.).
Gateway API and role model:
| Object | Level | Who configures | Purpose |
|---|---|---|---|
| GatewayClass | Cluster | Infrastructure provider | Controller type and implementation parameters |
| Gateway | Cluster | Cluster operator | Entry point: addresses, listeners, TLS |
| Routes (HTTPRoute, GRPCRoute) | Namespace | Application Developer/Owner | Application routing to backend services |
Where to configure in GUI:
- Gateway Classes and Gateways: cluster → Networks section;
- Routes: cluster → namespace → section Networks → Routes.
- Through custom resources: cluster → section Administration → Custom resources → API group gateway.networking.k8s.io.
For more information about the benefits of the Gateway API and the Ingress migration strategy, see Ingress NGINX is dead, long live the Gateway API.
Delivery of Gateway API to the cluster
Gateway API resources need the Gateway API CRDs. Shturval installs them with the critical service CRD of the Gateway API module (shturval-gateway-api-crds) in the namespace gateway-system. The service is installed on the management cluster and on client clusters. You do not enable the Load balancer group for that.
Check the installed CRD: cluster → Services and repositories → Installed services → find CRD of the Gateway API module (shturval-gateway-api-crds) → Manage.
If the service is not installed, open Services and repositories → Available charts → chart shturval-gateway-api-crds → Install and select the namespace gateway-system. More details: CRD of the Gateway API module.
After installation, the Gateway API sections are available in the GUI.
Gateway API Controller
The CRDs supplied to the cluster do not process traffic - routing requires a controller associated with the GatewayClass.
Before you enable a Gateway API controller, make sure it supports the CRD version in the cluster. In Shturval 2.15 the shturval-gateway-api-crds chart supplies Gateway API CRDs version 1.6.1.
When the cluster serves HTTP traffic through Gateway API, the Cilium controller is already enabled. If the client cluster uses NGINX Ingress Controller, the controller is off by default. How to enable it: Gateway API controller in Cilium. To allocate Gateway addresses, create a CiliumLoadBalancerIPPool.