0

有没有人成功配置 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/配置/键/#backend-protocol

它没有按预期工作。想检查我是否在这里错过了一些配置

4

1 回答 1

3

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

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

于 2020-08-20T01:22:36.787 回答