Kubernetes服务在负载下不能很好地平衡负载



在系统中运行导入时遇到问题。他有一个有6个副本的吊舱,它调用一个由5个副本吊舱支持的服务。尽管如此,我们的指标表明,在负载下,5个pod中只有一个得到了请求。我们正在使用ClusterIP服务来"路由"呼叫。

我们发现了这一点,更具体地说是这篇帖子,但尚不清楚他报告的问题是否只是为了长期的关系。

我们禁用了连接池,但在负载下仍然面临这种不平衡的行为。

我们的替代方案已经用完了,所以这是我的问题:这是我们所拥有的k8s服务的已知行为(限制?(吗?它是在什么地方记录的?

PS:只能从集群内部访问此服务。PS2:服务定义

apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2019-05-16T16:29:46Z"
name: my-service
namespace: my-ns
.....
spec:
clusterIP: <MyIp>
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: <my-selector>
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
我找到了答案。我部署了一个应用程序,该应用程序将通过服务调用端点,并返回应答的节点。我注意到,在大约30秒的时间范围内,只有同一个节点会回答,然后它会在另一个时间范围内切换到另一个节点,然后再切换回来。这看起来很奇怪,但似乎是服务负载平衡的行为。在一天结束时,如果你有一致的请求量,你会有一个平衡的负载。我们的请求配置文件是短时间内"突发"的请求,所以这就是我们得到不平衡负载的原因。

相关内容

最新更新