Gateway classes

When you install Gloo Gateway, a GatewayClass resource is automatically created with the following configuration:

kind: GatewayClass
  name: gloo-gateway

A gateway class defines a gateway’s configuration and behavior. This gloo-gateway gateway class refers to a custom Gloo Gateway controller. The Gloo Gateway controller implements the Kubernetes Gateway API and translates gateway-specific resources into valid Envoy configuration.

Supported gateway types

With Gloo Gateway, you can set up external gateways that expose services in your cluster on the public internet. The gateway is exposed with a load balancer service. Depending on the cloud provider that you use, the load balancer service is assigned a public IP address or hostname that you can use to reach the gateway.

When you follow the Get started guide, an external gateway is set up for you and configured with an HTTP listener. To expose an app on the gateway, you must create an HTTPRoute resource and define the matchers and filter rules that you want to apply before forwarding the request to the app in your cluster.

If you want to further protect the gateway and your apps, you can set up an HTTPS listener on your gateway and redirect HTTP traffic to HTTPS.

Keep in mind that you can only have one installation of Gloo Gateway with the Kubernetes Gateway API at a time. This limitation is because some required Kubernetes resources such as GatewayClass are cluster-scoped and fail if you try to install the product twice. You can still create multiple Gateway resources to configure HTTP and HTTPS listeners on Gloo Gateway.