【问题标题】:Kubernetes Service not distributing the traffic evenly among podsKubernetes 服务没有在 Pod 之间平均分配流量
【发布时间】:2021-10-27 14:30:16
【问题描述】:

我正在使用 Kubernetes v1.20.10 裸机安装。它有 1 个主节点和 3 个工作节点。该应用程序只是处理 HTTP 请求。

我正在基于 (HPA) Horizo​​ntal Pod Autoscaler 扩展部署,我注意到负载在 Pod 之间分布不均。只有第一个 Pod 获得了 95% 的负载,而另一个 Pod 的负载非常低。

我尝试了这里提到的答案,但没有奏效:Kubernetes service does not distribute requests between pods

【问题讨论】:

  • 使用了哪个cni
  • 如何产生负载?您使用的是 ingress 还是 LoadBalancer/NodePort 服务?
  • 请澄清您的问题:您是说传入的请求没有在 pod 之间进行负载平衡,或者您的 pod 没有在节点之间均匀调度? (标题说“不分发节点”——你的意思是负载吗?)
  • @P....,我们使用的是印花布 CNI。
  • @Thomas,我们正在使用 istio ingress。

标签: kubernetes kubernetes-ingress kubernetes-service calico hpa


【解决方案1】:

根据提供的信息,我假设您使用的是 http-keepalive,它是一个持久的 tcp 连接。 kubernetes 服务为每个(新的)tcp 连接分配负载。如果您有持久连接,则只会分发额外的连接,这是您观察到的效果。

尝试:禁用http keepalive或将最大keepalive时间设置为15秒,最大请求数为50。

【讨论】:

    猜你喜欢
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多