GKE上的GRPC负载平衡(在L7,HTTP / 2 + TLS上)

时间:2018-09-17 01:33:22

标签: kubernetes google-cloud-platform grpc http2 google-kubernetes-engine

如何在L7上的GKE上为GRPC服务进行负载平衡(通过HTTP / 2 + TLS接入)?

我知道我可以选择使用L4(TCP层)将服务配置为“ LoadBalancer”类型。但是我想知道是否可以在HTTP / 2 + TLS上使用Ingress + L7负载平衡。

我还看到“ GKE不支持HTTP / 2到后端。” (在https://cloud.google.com/load-balancing/docs/backend-service#HTTP2-limitations上)。但是我不知道这是不是真的。

1 个答案:

答案 0 :(得分:1)

现在,当您使用 https 时,

GKE Ingress可以load balance with HTTP/2

要在负载均衡器(入口控制器)和pod之间获得HTTP / 2,您的服务需要额外的注释:

apiVersion: v1
kind: Service
metadata:
  annotations:
    cloud.google.com/app-protocols: '{"my-port":"HTTP2"}'

此外,您的Pod大多使用TLS,并配置了ALPN h2。这可以例如完成HAProxy作为http2 configuration的辅助工具。我已经在GKE上成功使用了此设置。