linkerd2 icon indicating copy to clipboard operation
linkerd2 copied to clipboard

Linkerd implementation of Gateway API not follow GAMMA spec

Open qts0312 opened this issue 11 months ago • 2 comments

What is the issue?

I am using Gateway API in Linkerd and find inconsistency between route behavior in Linkerd and GAMMA specification. In GEP, it says that GAMMA implementation should not infer any functionality from the hostnames field on HTTPRoute. But actually, hostnames in HTTPRoute makes effect in Linkerd.

How can it be reproduced?

For example, as configuration below, curl -H"host:www.bookinfo.com" http://back:80 can get correct service while curl -H"host:www.example.com" http://back:80 cannot.

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: hr-1
spec:
  parentRefs:
    - port: 80
      group: ''
      kind: Service
      name: back
  hostnames:
    - www.bookinfo.com
  rules:
    - backendRefs:
        - name: productpage
          port: 9090

Logs, error output, etc

There are no specific logs.

output of linkerd check -o short

Status check results are √

Environment

  • Kubernetes Version: 1.28.2
  • Linkerd Version: stable-2.14.10

Possible solution

No response

Additional context

No response

Would you like to work on fixing this bug?

None

qts0312 avatar Mar 19 '24 10:03 qts0312

GAMMA is likely going to standardize on Linkerd's behavior being correct, since it's more parallel to the way HTTPRoutes work when bound to Gateways -- check out https://github.com/kubernetes-sigs/gateway-api/issues/2885. (I'll leave this open while that issue works its way through.)

kflynn avatar Mar 28 '24 16:03 kflynn

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jun 28 '24 08:06 stale[bot]