我部署了简单的udp服务器example,但是只能看到5个Pod中的1个传入流量(使用 kubectl日志'udp-server-deployment-XXX')。我在Azure aks-engine上尝试过,为什么它从来没有负载均衡?
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(4);
executor.setMaxPoolSize(6);
executor.setQueueCapacity(5000); // <-- setting the queueCapacity
如果公用IP上的负载平衡既不是内部的,也没有帮助( service.beta.kubernetes.io/azure-load-balancer-internal:“ true” )尝试一下,如果您有方便的“ loggen”(Linux syslog生成器):
$ kubectl get pods | grep udp-server
udp-server-deployment-6f87f5c9-4mhpm 1/1 Running 0 4m
udp-server-deployment-6f87f5c9-5lqkm 1/1 Running 0 4m
udp-server-deployment-6f87f5c9-5x92x 1/1 Running 0 4m
udp-server-deployment-6f87f5c9-smb8g 1/1 Running 0 4m
udp-server-deployment-6f87f5c9-tszgs 1/1 Running 0 4m
答案 0 :(得分:0)
我只能从我这一边确认,我和你有相同的看法。使用UDP协议时,无论基础服务端口类型(ClusterIP,NodePort或LoadBalancer)如何,LoadBalancing都不会启动,我在Azure和GCP上都进行了检查。
我认为这完全是关于以下事实:
UDP服务器本身不能充当运行状况探测器,因为UDP不能 确认负载均衡器可以检查,以便 需要其他组件
如this博客文章中所述。