Kubernetes服务无法在负载下公平地平衡负载

问题描述 投票:0回答:1

我们在系统中运行导入时遇到问题。他有一个包含6个副本的容器,该容器调用由5个副本容器支持的服务。但是,我们的指标表明,在负载下,5个Pod中只有一个正在接收请求。我们正在使用ClusterIP服务来“路由”呼叫。

我们找到了this,更具体地说是this post,但尚不清楚他报告的问题是否仅针对长期连接。

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

我们已经没有其他选择了,所以这是我的问题:这是我们拥有的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: {}
kubernetes
1个回答
0
投票

我找到了答案。我部署了一个应用程序,该应用程序将通过该服务调用终结点,并返回响应的节点。我注意到,在大约30秒的时间范围内,只有同一个节点会回答,然后在另一个时间范围内它将切换到另一个节点,然后再返回。看起来很奇怪,但似乎是服务负载平衡的行为。在一天结束时,如果请求数量保持一致,则负载将是均衡的。我们的请求概况是短时间内的请求“爆发”,因此这就是我们负载不均衡的原因。

© www.soinside.com 2019 - 2024. All rights reserved.