-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add http2 and grpc support to ingress gateways #8458
Add http2 and grpc support to ingress gateways #8458
Conversation
Any updates on this? Is there any more information I can give you? |
Hi @jackloughran, you are correct that grpc/http2 is supported for sidecar proxies. The only reason why gRPC wasn't supported for ingress gateways initially is that it hasn't been tested. Have you tested sending gRPC traffic through the gateway with the changes in this PR? |
@freddygv Yes, I tried this out, and I was able to successfully proxy grpc traffic on my computer with the changes in this PR. |
Great, so then I think the one thing missing here would be a new integration test for an Ingress gateways routing to a grpc service. It would be a mix of: Here's some additional info on that:
|
a6a6933
to
c2b7ee8
Compare
@freddygv Thanks so much for writing that out! It was really helpful. I added the integration test, and I added http2 to the list of supported protocols since grpc always uses http2. |
Great, thanks @jackloughran! This looks good. One last request: We recently moved to automating changelog entries, can you add a file like this one to https://github.com/hashicorp/consul/blob/master/.changelog/7628.txt This would also be considered as an improvement, like 7628. |
@freddygv Sure! Thanks again for all the help! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks you!
I'll take care of fixing up this cherry-pick @jackloughran. You're all set here. |
While evaluating a Consul + Envoy request routing solution, I noticed ingress gateways don't support grpc (#8454). We were hoping to route grpc traffic though an ingress gateway during the first phase of our migration.
Out of curiosity, I tried adding
grpc
to the ingress gateway supported protocols map, and Consul was able to correctly configure the Envoy ingress gateway. From what I can tell, ingress gateways share a lot of code with sidecar proxies which already support grpc.Could this work? Is there another reason why ingress gateways don't support grpc?
I'm happy to expand on our use case if that would help.