首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使kube-proxy实现负载均衡?

如何使kube-proxy实现负载均衡?
EN

Stack Overflow用户
提问于 2020-01-06 17:53:26
回答 2查看 375关注 0票数 0

我有一个ClusterIP服务,用于在内部将负载分发到2个PODs。负载在PODs上的分布不均匀。

如何使负载均匀分布?

EN

回答 2

Stack Overflow用户

发布于 2020-01-06 18:32:22

用户空间代理模式的kube-proxy通过轮询的方式选择后端pod。

iptables模式的kube-proxy会随机选择后端pod。

票数 0
EN

Stack Overflow用户

发布于 2020-01-08 22:09:40

Kubernetes使用iptables在pod之间分配负载(默认为iptables proxy mode)。

如果您有2个pods,则以0.5 (50%)的概率均匀分布。因为没有使用轮询,所以后端pod是随机选择的。它甚至会在更长的时间范围内。

如果有3个pods,概率将变为1/3 (33%),对于4个pods将变为1/4,依此类推。

要检查它,您可以运行sudo iptables-save

2个pod的输出示例(适用于nginx服务):

代码语言:javascript
复制
sudo iptables-save | grep nginx

-A KUBE-NODEPORTS -p tcp -m comment --comment "default/nginx:" -m tcp --dport 31554 -j KUBE-SVC-4N57TFCL4MD7ZTDA    //KUBE-SVC-4N57TFCL4MD7ZTDA is a tag for nginx service

sudo iptables-save | grep KUBE-SVC-4N57TFCL4MD7ZTDA
-A KUBE-SVC-4N57TFCL4MD7ZTDA -m statistic --mode random --probability 0.50000000000 -j KUBE-SEP-SOWYYRHSSTWLCRDY

如果您希望使用轮询算法确保负载均匀分布,则可以使用IPVS,它默认使用rr (轮询)。它充当集群前端的负载均衡器,将基于TCP和UDP的服务请求定向到真实服务器,并使真实服务器的服务显示为单个IP地址上的虚拟服务。由local-up、kubeadm和GCE创建的集群上的supported

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59609914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档