gRPC Examples using Gateway, and VirtualService

Does anyone know of a complete and working gRPC 1.0 or later example complete with with working yaml configuration files ?

Hopefully one that includes a test of calling through the gateway to invoke a service, maybe using grpc_cli.

HTTP examples abound, this is not what I want.


I am looking for the same, and attempting to call from the outside. I hope to figure this out soon.

I managed to make the base case work with grpc_cli etc. However the authentication and RBAC logging and silent exception catching code inside envoy I think makes it a roll your own situation for production if you need to diagnose issues with running systems. I continue trying to make the istio gateway implementation work knowing we are in that situation. In part due my own ignorance, it has been a significant investment and I don’t see it ending anytime soon. Latest info at gRPC JWT Authentication silently failing in Istio. I think we should focus on getting this one to work. Im on bare metal cluster and its more for gce I think it could be adapted.
This is what I am getting on my own local cluster. My setup is no load balancer like with gce although I could simulate this.

docker run --add-host$GATEWAY_IP -t salrashid123/grpc_backend /grpc_client --host
2019/06/25 23:17:57 could not greet: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = “transport: authentication handshake failed: tls: oversized record received with length 20527”

We are also observing the same error on tls:oversized received with length 20527.
We have enabled tls passthrough in gateway and the certs used in the application which is a grpc server.

Could you elaborate on the issues with this? What issues are you seeing with authentication and RBAC? I am going to be enabling TLS etc soon. I have basic client access working but are you still seeing issues related to rbac or authentication or any other issues. Thanks

Ok, I have client working and will be applying tls soon. Let me know if you see any other issues.

Have you tried Envoys grpc-http bridge?

This looks to be like what Lyft uses internally for http from external clients. Actually they have been using it for years. I realize its not end to end grpc but what are your thoughts on this anyway as an interim solution? It might result in fewer issues at the gateway? Albeit without the benefits of end to end grpc.