【问题标题】:How to configure haproxy-ingress for serving GRPC如何为服务 GRPC 配置 haproxy-ingress
【发布时间】:2020-12-08 09:14:14
【问题描述】:

有没有人成功配置 Haproxy 入口控制器以在后端为 GRPC 服务器提供服务

GRPC Client ----> Ingress----> GRPC Server (k8s Service) --> GRPC Server(Pod)

我尝试按照此处的文档进行配置(https://www.haproxy.com/blog/haproxy-1-9-2-adds-grpc-support/https://haproxy-ingress.github.io/docs/configuration/keys/#backend-protocol

不是working as expected。想检查我是否在这里错过了一些配置

【问题讨论】:

    标签: kubernetes grpc haproxy-ingress


    【解决方案1】:

    gRPC 在 h2 之上工作,出于兼容性原因,客户端和服务器需要就他们想要使用的 http 协议版本达成一致。在 haproxy 中,这是使用 bind 行中的 alpn 关键字完成的,该关键字仅适用于 TLS 连接。默认情况下,HAProxy Ingress 使用 h2,http1.1 配置 alpn,允许在客户端开箱即用的 h2 和 gRPC - 但仅限于 https 连接。

    如果您使用纯 http,客户端和服务器无法就协议达成一致,并且使用的默认版本是 http1。您可以用:80 proto h2 覆盖配置bind-http 的这种行为,但这会破坏http1 客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多