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

时间:2020-05-07 18:37:25

标签: kubernetes

在系统中运行导入时遇到问题。 他有一个包含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: {}

1 个答案:

答案 0 :(得分:1)

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