Kubernetes gRPC客户端负载平衡
我有一个无头服务运行多个副本。当尝试使用循环验证客户端负载平衡时,我发现所有请求都在同一个副本中结束。 客户端设置如下所示:Kubernetes gRPC客户端负载平衡,kubernetes,grpc-go,Kubernetes,Grpc Go,我有一个无头服务运行多个副本。当尝试使用循环验证客户端负载平衡时,我发现所有请求都在同一个副本中结束。 客户端设置如下所示: conn, err := grpc.Dial( address, grpc.WithInsecure(), grpc.WithDefaultServiceConfig(`{"loadBalancingPolicy":"round_robin"}`),) 我已经验证了服务中的多个端点
conn, err := grpc.Dial(
address,
grpc.WithInsecure(),
grpc.WithDefaultServiceConfig(`{"loadBalancingPolicy":"round_robin"}`),)
我已经验证了服务中的多个端点。我还验证了服务解析为这些多个IP,但不知何故它只连接到列表中的第一个pod。
MAX\u CONNECTION\u AGE
在服务器端设置为30秒,以确保在出现扩展的情况下客户端偶尔重新连接。
我已经阅读了很多关于如何设置此功能的文章,但它根本不起作用。我缺少什么?关键是明确使用
dns://
作为目标的前缀。尽管在文档中它被声明为默认值。关于k8sThanks中的gRPC负载平衡,我也阅读了这篇文章。我们不希望使用任何代理,目前只保留客户端负载平衡