Gateway API support
The Gateway API is a set of CRDs in the
gateway.networking.k8s.io API group which describe types of traffic in a way
that is independent of a specific mesh or ingress implementation. Recent
versions of Linkerd fully support the
Kubernetes Gateway API as a core
configuration mechanism, and many Linkerd features, including authorization
policies, dynamic traffic routing, and request
timeouts, require these resource types from the Gateway API in order
to be used. (Note that Linkerd does not require these types in order to run, but
these features will not be useable.)
The two primary Gateway API types used to configure Linkerd are:
Both of these types are used in a variety of ways when configuring Linkerd.
Checking the existing Gateway API version
The Gateway API may already be installed on your cluster. Check by running:
kubectl get crds/httproutes.gateway.networking.k8s.io -o "jsonpath={.metadata.annotations.gateway\.networking\.k8s\.io/bundle-version}"
If this command returns Not Found error, the Gateway API is not installed. Otherwise it will return the Gateway API version number. Check that version against the compatibility table:
| Linkerd versions | Gateway API version compatibility | HTTPRoute version | gRPC version |
|---|---|---|---|
| 2.15 - 2.17 | 0.7 - 1.1.1 | v1beta1 | v1alpha2 |
| 2.18 | 1.1.1 - 1.2.1 | v1 | v1 |
| 2.19 | 1.1.1 - 1.4.0 | v1 | v1 |
Note
Warning
Installing the Gateway API
If the Gateway API is not already installed on your cluster, you may install it by following the Gateway API install guide, which is often as simple as:
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/standard-install.yaml
Note: Precursors to Gateway API-based configuration
Prior to the complete support of the Gateway API introduced in Linkerd 2.14, Linkerd provided two earlier variants of configuration:
- A Linkerd-specific
HTTPRouteCRD provided by Linkerd in thepolicy.linkerd.ioAPI group - ServiceProfiles, which allowed for configuration of per-route metrics, retries, and timeouts prior to the introduction of the Gateway API types.
Both of these earlier configuration mechanisms continue to be supported; however, newer feature development is focused on the standard Gateway API types.
Learn More
To get started with the Gateway API types, you can:


