Managing Gateway API resources

Linkerd uses Kubernetes Gateway API resources to configure certain features. While the Gateway API isn’t required for Linkerd, these features won’t work without it.

As of BEL 2.19, ownership of the Gateway API resources have been decoupled from Linkerd. (In earlier versions, Linkerd would optionally install and upgrade these resources for you.)

Gateway API compatibility

Linkerd versionGateway API version compatibility
2.15–2.170.7 – 0.1.1
2.181.1.1 - 1.2.1
2.191.1.1 – 1.4.0

Understanding the state of your cluster

To understand the state of the Gateway API CRDs on your cluster, run this command:

kubectl get crd -o json   | jq -r '.items[]
    | select(.metadata.name|test("\\.gateway\\.networking\\.k8s\\.io$"))
    | [.metadata.name,
       (.metadata.annotations["gateway.networking.k8s.io/bundle-version"]
        // .metadata.annotations["gateway.networking.k8s.io/release"]
        // "unknown")]
    | @tsv' | column -t

You should see the complete list of Gateway API resources and the associated version. Ensure these versions are within the support window for Linkerd.

Note that if the output is empty, that means you do not have Gateway API resources installed on your cluster.

Installing or upgrading the Gateway API resources

To install the Gateway API resources on your cluster, or upgrade them to the latest version, run:

kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/standard-install.yaml

More details

For more on how to install and manage the Gateway API, see the Linkerd Gateway API docs.