linkerd / linkerd2

Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
https://linkerd.io
Apache License 2.0
10.6k stars 1.27k forks source link

Add support for grpcroute to outbound policy #12761

Closed adleong closed 3 months ago

adleong commented 3 months ago

We update the policy-controller to support grpcroutes in the outbound policy API. When a GrpcRoute resource has a Service as a parent ref, outbound policy requests for that service may return a proxy protocol of grpc with grpc routes.

adleong commented 3 months ago

Upon further reading, the behavior for conflicting route types described in https://gateway-api.sigs.k8s.io/geps/gep-1426/#route-types contradicts https://gateway-api.sigs.k8s.io/geps/gep-1016/#cross-serving.

Since GEP-1426 is specific to mesh use-cases, the behavior it describes (preferring GrpcRoute over HttpRoute when there is a conflict) is probably more appropriate. I will plan to update this behavior to match GEP-1426 in a follow-up PR. I will also add the new RouteReasonConflicted from that GEP status in that PR.