Skip to content

Enable Gateway API

Gateway API CRDs

We must deploy the gateway api CRDs. We can choose between the standard and the experimental install.

The standard installation, includes CRDs in GA or beta status

  • GatewayClass
  • Gateway
  • HTTPRoute
  • ReferenceGrant

The experimental installation add some experimental CRDs:

  • TCPRoute
  • TLSRoute
  • UDPRoute

Things to consider

  • Some implementations include the Gateway API CRDs. Other need to be installed separetly. Check what version the implementation suggest in this case.
  • Mixing different implementations in the same k8s cluster adds a decision about how to deploy them and what version to choose

Implementations

Here we have a have a lot of implementations with different ways to be deployed.

AWS Load Balancer Controller

We need the helm chart 3.0.0 at least and in the values file

controllerConfig:
  featureGates:
    NLBGatewayAPI: true
    ALBGatewayAPI: true

External DNS

We need a recent version of the external-dns helm chart and add the desired routes as sources in the values file

sources:
  <...>
  - gateway-httproute
  - gateway-tcproute
  - gateway-udproute
  - gateway-tlsroute
  - gateway-grpcroute

Cert-Manager

We need a recent version of cert-manager and and enable gateway api in the values file

config:
  apiVersion: controller.config.cert-manager.io/v1alpha1
  kind: ControllerConfiguration
  enableGatewayAPI: true