Managing Gateway API resources

Linkerd uses Kubernetes Gateway API resources to configure certain features, and must be installed on your cluster before Linkerd can be installed.

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.)

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 or upgrade the latest supported version of the Gateway API resources on your cluster, run:

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

More details

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