You are viewing the documentation for the 2.0.x version of Gloo Gateway. To get the latest enterprise features of the Kubernetes Gateway API on top of the kgateway project, see Solo Enterprise for kgateway. To use the older Gloo Gateway 1.x that is based on the Gloo upstream project, click here.
Routes
The Solo Enterprise for agentgateway data plane supports the Gateway API routing resources, including HTTPRoute, GRPCRoute, TCPRoute, and TLSRoute.
Use Solo Enterprise for agentgateway to proxy HTTP requests to your backend services.
Follow the Sample HTTP app instructions to create a sample HTTP app, a Gateway with an HTTP listener that uses the agentgateway-enterprise GatewayClass, and an HTTPRoute.
Check out the following guides for more advanced routing use cases.
Follow the Static backend guide to create a static backend for an external HTTP service. Then, use an HTTPRoute to route traffic to that service through your agentgateway proxy. When you set up your Gateway, make sure to use the agentgateway-enterprise GatewayClass.
Send a request to the gRPC server with the grpcurl client. If you do not have this client locally, you can log in to the gRPC client pod that you previously deployed.
Review the following table to understand this configuration.
Setting
Description
spec.gatewayClassName
The name of the Kubernetes GatewayClass that you want to use to configure the Gateway. For Solo Enterprise for agentgateway, set the gatewayClassName to agentgateway-enterprise.
spec.listeners
Configure the listeners for this Gateway. In this example, you configure a TCP Gateway that listens for incoming traffic on port 8000. The Gateway can serve TCPRoutes from any namespace.
Create a Gateway that enables the attachment of ListenerSets.
Review the following table to understand this configuration.
Setting
Description
spec.gatewayClassName
The name of the Kubernetes GatewayClass that you want to use to configure the Gateway. For Solo Enterprise for agentgateway, set the gatewayClassName to agentgateway-enterprise.
spec.allowedListeners
Enable the attachment of ListenerSets to this Gateway. The example allows listeners from any namespace.
spec.listeners
Optionally, you can configure a listener that is specific to the Gateway. Note that due to a Gateway API limitation, you must configure at least one listener on the Gateway resource, even if the listener is not used and is a generic, “dummy” listener. This generic listener cannot conflict with the listener that you configure in the ListenerSet, such as using the same port or name. In this example, the generic listener is configured on port 80, which differs from port 8000 in the ListenerSet that you create later.
Create a ListenerSet that configures a TCP listener for the Gateway.
Review the following table to understand this configuration.
Setting
Description
spec.parentRef
The name of the Gateway to attach the ListenerSet to.
spec.listeners
Configure the listeners for this ListenerSet. In this example, you configure a TCP listener for port 8000. The gateway can serve TCPRoutes from any namespace.
Review the following table to understand this configuration.
Setting
Description
spec.gatewayClassName
The name of the Kubernetes GatewayClass that you want to use to configure the Gateway. For Solo Enterprise for agentgateway, set the gatewayClassName to agentgateway-enterprise.
spec.listeners
Configure the listeners for this Gateway. In this example, you configure a TLS passthrough Gateway that listens for incoming traffic for the nginx.example.com domain on port 8443. The Gateway can serve TLS routes from any namespace.
spec.listeners.tls.mode
The TLS mode for incoming requests. In this example, TLS requests are passed through to the backend service without being terminated at the Gateway.
Create a Gateway that enables the attachment of ListenerSets.
Review the following table to understand this configuration.
Setting
Description
spec.gatewayClassName
The name of the Kubernetes GatewayClass that you want to use to configure the Gateway. For Solo Enterprise for agentgateway, set the gatewayClassName to agentgateway-enterprise.
spec.allowedListeners
Enable the attachment of ListenerSets to this Gateway. The example allows listeners from any namespace.
spec.listeners
Optionally, you can configure a listener that is specific to the Gateway. Note that due to a Gateway API limitation, you must configure at least one listener on the Gateway resource, even if the listener is not used and is a generic, “dummy” listener. This generic listener cannot conflict with the listener that you configure in the ListenerSet, such as using the same port or name. In this example, the generic listener is configured on port 80, which differs from port 443 in the ListenerSet that you create later.
Create a ListenerSet that configures a TLS passthrough listener for the Gateway.