-
Notifications
You must be signed in to change notification settings - Fork 704
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.lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.Denotes an issue or PR has remained open with no activity and has become stale.
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.lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.Denotes an issue or PR has remained open with no activity and has become stale.