istio中的grpc_json_transcoder的EnvoyFilter过滤器

时间:2019-06-09 05:37:18

标签: filter istio grpc-java envoyproxy

istio EnvoyFilter没有将http1X转换为http2X(GRPXC)服务

我在Azure AKS和istio-1.1.6中提供了GRP服务,我的GRPC服务正在侦听50051端口,我具有EnvoyFilter过滤器,用于将JSON转换为GRPC,但是在我的服务上,即使我正在调用它,我仍然收到http 1X请求通过GRPC客户端(Http2.o)请求

特使档案器

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: envoy-proxy
  namespace: istio-system
spec:

  filters:
  - listenerMatch:
      listenerType: GATEWAY (tried with INBOUD_SIDECAR too)
      listenerProtocol: HTTP
    insertPosition:
      index: BEFORE
      relativeTo: envoy.router
    filterName: envoy.grpc_json_transcoder
    filterType: HTTP
    filterConfig:
      proto_descriptor: "/mnt/azure/descriptor_set.pb"
      services:
      - x.x.x.HelloService
      printOptions:
        alwaysPrintPrimitiveFields: True


GRPC Service

---
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: c7-service
  name: c7-service
spec:
  type: ClusterIP

  ports:
  - name: "50051"
    protocol: TCP
    port: 80
    targetPort: 50051

  selector:
    app: c7-service
status:
  loadBalancer: {}

错误:

Jun 09, 2019 12:13:59 AM io.grpc.netty.shaded.io.grpc.netty.NettyServerTransport notifyTerminated
INFO: Transport failed
io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception: Unexpected HTTP/1.x request: POST 
        at io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:85)
        at io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.readClientPrefaceString(Http2ConnectionHandler.java:314)

0 个答案:

没有答案