Gateway API

Learn how to use the Kubernetes Gateway API with Envoy Gateway in Giant Swarm workload clusters for advanced traffic management, load balancing, and API gateway functionality.

The Kubernetes Gateway API is the next-generation standard for managing ingress traffic in Kubernetes clusters. It provides a more expressive, extensible, and role-oriented approach to traffic management compared to traditional Ingress resources. Giant Swarm supports Gateway API through Envoy Gateway, providing advanced load balancing, traffic routing, and API gateway capabilities.

This guide explains how to set up and use Gateway API with Envoy Gateway in Giant Swarm workload clusters.

Overview

Gateway API introduces several key concepts that provide more flexibility and control over traffic management:

Gateway API vs. Ingress

FeatureIngressGateway API
Role separationSingle resourceSeparate resources for infrastructure (Gateway) and routing (HTTPRoute)
Protocol supportHTTP/HTTPS onlyHTTP/HTTPS, TCP, UDP, TLS
ExtensibilityLimitedHighly extensible with custom resources
Traffic policiesBasicAdvanced (retries, timeouts, load balancing)
Multi-tenancyLimitedBuilt-in role-based access control

Key Components

The Gateway API consists of three main components available in Giant Swarm:

  1. Gateway API CRDs: Core custom resource definitions for Gateway API
  2. Envoy Gateway: The gateway implementation based on Envoy Proxy
  3. Gateway API Config: Default configuration for quick setup

Those are bundle together in Gateway API bundle to help with the installation.

Gateway API resources

  • GatewayClass: Defines the type of gateway (managed by platform team)
  • Gateway: Configures load balancer and listeners (managed by platform team)
  • HTTPRoute: Defines HTTP routing rules (managed by application teams)
  • TCPRoute/UDPRoute: Defines TCP/UDP routing rules
  • ReferenceGrant: Enables cross-namespace references

Next steps

Now that you understand the basics of Gateway API, you can:

Limitations

  • Gateway API is still evolving; some features may be experimental
  • Not all Ingress controller features have direct Gateway API equivalents
  • Some advanced Envoy features may require custom EnvoyProxy configuration

Further reading