Replies: 1 comment
-
Thanks, @sina-grz! I've created an issue for this as it does seem like a bug: #14047 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Linkerd Unable to Route gRPC Requests with Header-Based Matches
Issue Description
I've discovered that Linkerd appears unable to route gRPC requests when a GRPCRoute definition contains match sections based on headers.
Environment
How to Reproduce
I've developed three test services:
service-a
(client)service-b
(server)service-c
(second server)Here are the manifests:
manifest.yaml
Error Symptoms
When trying to route based on headers, my gRPC client crashes with:
Linkerd Logs
The Linkerd proxy logs show:
The key error message is:
Configuration
GRPCRoute
The GRPCRoute is successfully created and shows as "Accepted" and "ResolvedRefs: True" in status:
Expected Behavior
The GRPCRoute should route traffic with the "session-id: user-1" header to service-c, and all other traffic to service-b.
Fix option
To resolve the 'missing RPC match' error, I added the required 'service' and 'method' fields in the match section.
However, this approach requires explicitly specifying the gRPC service and method, which is inconvenient when trying to match all requests. Additionally, Linkerd documentation does not mention this strict requirement for GRPCRoute."
Question
Why Does Linkerd require additional
RPC match
configuration for header-based routing in GRPCRoutes? The error suggests it's looking for an RPC match, but I'm only trying to use header-based matching as defined in the Gateway API spec.Beta Was this translation helpful? Give feedback.
All reactions