I am building a sample application for a POC. In my Kubernetes cluster I have my grpcserver and client (running in different pods) . I have installed consul with connect enabled using the official helm chart V0.31.1.
The major configurations that were used are :
I have created two services grpcserver and client.
I have set proxy defaults for both grpcserver and client to support protocol “grpc”.
In my grpcserver deployment I have added the following annotations
In my client deployment I have added
On deployment the grpcserver pod runs as per expected . The client pod is not able to make connection to the grpcserver and fails with the error
HTTP/2 connection could not be established because the server did not complete the HTTP/2 handshake.\u0022, DebugException=\u0022System.Net.Http.HttpRequestException: An HTTP/2 connection could not be established because the server did not complete the HTTP/2 handshake.
Is there any special configuration that we must enable to help grpc communication between two pods in consul-connect . Is there any documentation on this that I can refer to ?
Any help is greatly appreciated!
Few options I have tried include
Enable/Disable Transparent Proxy
Change Default Protocols to tcp , http2
Also enable communication between grpcserver and client through service intentions