如何在Istio中路由gRPC?

时间:2018-09-10 08:10:14

标签: kubernetes grpc istio

我是服务网格事物的新手,所以我使用istio在kubernetes中对微服务的基本实现进行了一些PoC。

我有2个部署,应该使用gRPC相互通信。当我呼叫grpc服务器时,它返回错误rpc error: code = Internal desc = server closed the stream without sending trailers

这是我的grpc服务配置:

apiVersion: v1 kind: Service metadata: name: grpcserver labels: app: grpcserver spec: ports: - port: 8080 name: http selector: app: grpcserver

1 个答案:

答案 0 :(得分:4)

引用Istio docs

  

必须命名服务端口。为了使用Istio的路由功能,端口名称必须采用{protocol} [-{suffix}]的形式,并带有http,http2,grpc,mongo或redis作为。

因此,服务配置应为:

apiVersion: v1
kind: Service
metadata:
  name: grpcserver
  labels:
    app: grpcserver
spec:
  ports:
  - port: 8080
    name: grpc
  selector:
    app: grpcserver