Migrating from Ingress to Gateway API

Related Documentation
Related Resources

Kong contributed to the kubernetes-sigs project ingress2gateway by creating a Kong provider able to convert ingress resources into Gateway resources. The ingress2Gateway tool provides a print command that gets ingress resources and displays the Gateway API equivalent. The output of this operation can be either directly applied to the cluster, or it can generate a new set of YAML files containing the converted configuration.

Supported Ingress features and annotations

Kong Ingress Controller provides an extensive set of annotations. The ingress2gateway Kong Gateway provider currently supports the following annotations:

Annotation name

Conversion

kubernetes.io/ingress.class
required
gateway.spec.gatewayClassName
konghq.com/methods httpRoute.spec.rules[*].matches[*].method
konghq.com/headers._ httpRoute.spec.rules[_].matches[*].headers
konghq.com/plugins httpRoute.spec.rules[*].filters

Features

kubernetes.io/ingress.class

Annotation description

If configured on an Ingress resource, this value is used as the gatewayClassName set on the corresponding generated Gateway.

konghq.com/methods

Annotation description

If configured on an Ingress resource, this value is used to set the HTTPRoute method matching configuration. Since many methods can be set as a comma-separated list, each method creates a match copy. All the matches belonging to the same HTTPRoute rule are put in OR.

konghq.com/headers.*

Annotation description

If configured on an Ingress resource, this value sets the HTTPRoute header matching configuration. Only exact matching is supported. Because many values can be set for the same header name as a comma-separated list, each header value is used to create a match copy. All the matches belonging to the same HTTPRoute rule are put in OR.

konghq.com/plugins

Annotation description

Annotation description

If configured on an Ingress resource, this value attaches plugins to Routes. Plugin references are converted into HTTPRoute ExtensionRef filters. Each plugin annotation is converted into a Kong Gateway Plugin instance.

Each value in the annotation must match the name of a KongPlugin or KongClusterPlugin.

Something wrong?

Help us make these docs great!

Kong Developer docs are open source. If you find these useful and want to make them better, contribute today!