The 2.13.0
release seems to have brought the hard requirement of l5d-dst-override
headers in all requests going to a pod meshed in ingress mode.
Requests without it return a 502 and output a message similar to
status: NotFound, message: "No such service", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc", "content-length": "0"} } error.sources=[status: NotFound, message: "No such service", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc".
Unexpected behavior change on ingress injected pods in v2.13.x · Issue #10908 · linkerd/linkerd2 · GitHub was created on the premise this was a good, intended change and just improperly documented. I created #1634 with the same premise.
It seems this was a documented change in edge-21.5.1
, however and reverted in edge-21.5.3
after some discussion.
One issue with this change is the difficulty that some ingress controllers provide for configuring headers for each service will severely increase the complexity of setting up linkerd. A more intractable issue is the ability to ingress to non-meshed services (including external services).