-
Notifications
You must be signed in to change notification settings - Fork 701
Open
Labels
kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.lifecycle/needs-triageIndicates that an issue needs to be triaged by a project contributor.Indicates that an issue needs to be triaged by a project contributor.
Description
Please describe the problem you have
We have a gRPC service (Go-based) running behind Contour using HTTPProxy with protocol: h2c serving grpc traffic.
We are trying to mirror this traffic to another gRPC backend (written in Rust in another VM) using the HTTPProxy mirror: true option.
Example:
- name: xxxx
port: 80
slowStartPolicy:
aggression: '0.1'
minWeightPercent: 10
window: 300s
- name: xxx-mirror-rust
mirror: true
port: 80
protocol: h2c
weight: 1
and we have pointed that service xxx-mirror-rust to a externalname which is poiting to my hosted rust backend at a certain port.
What did we observe?
- Mirroring works fine for HTTP applications serving http traffic.
- For gRPC traffic, we consistently see 503 errors on the mirror service.
- It seems gRPC → gRPC mirroring might not be supported yet or documented.
What do we expect?
- Clarification on whether Contour supports gRPC mirroring on grpc traffic with mirror:true option as working for http traffic.
- If not, request to add support or documentation for this use case.
- Any known workarounds for sending gRPC mirror traffic to another gRPC backend.
Used Environment
- Contour version:
1.27.0&1.28.0 - Used HTTPProxy with
protocol: h2cfor both upstreams as grpc needs this annotations
Metadata
Metadata
Assignees
Labels
kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.lifecycle/needs-triageIndicates that an issue needs to be triaged by a project contributor.Indicates that an issue needs to be triaged by a project contributor.