<p>I'm new with service mesh thing, so I did some PoC of basic implementation of microservices in kubernetes with istio. </p>

<p>I have 2 Deployments which is supposed to be talking to each other using gRPC. When I call the grpc server it returned error <code>rpc error: code = Internal desc = server closed the stream without sending trailers</code></p>

<p>This is my grpc Service config: </p>

<p><code>
apiVersion: v1
kind: Service
metadata:
  name: grpcserver
  labels:
    app: grpcserver
spec:
  ports:
  - port: 8080
    name: http
  selector:
    app: grpcserver
</code></p>

<p>Quoting Istio <a href="https://istio.io/docs/setup/kubernetes/spec-requirements/" rel="nofollow noreferrer">docs</a>, </p>

<blockquote>
  <p>Service ports must be named. The port names must be of the form {protocol}[-{suffix}] with http, http2, grpc, mongo, or redis as the  in order to take advantage of Istio’s routing features.</p>
</blockquote>

<p>So the Service configuration should be:</p>

<pre><code>apiVersion: v1
kind: Service
metadata:
  name: grpcserver
  labels:
    app: grpcserver
spec:
  ports:
  - port: 8080
    name: grpc
  selector:
    app: grpcserver
</code></pre>
