主机调度不均衡

Rancher Server 设置

  • Rancher 版本:v2.5.11
  • 安装选项 (Docker install/Helm Chart): Docker install
  • 在线或离线部署:在线

下游集群信息

  • Kubernetes 版本: v1.20.12
  • Cluster Type (Local/Downstream): 自定义

问题描述:
容器部署采用默认主机调度规则,主机没有污点,容器有设置cpu和内存资源预留,但是发现容器调度不均衡,经常往资源占用高的主机部署。如截图红框中的主机明明资源相对富余,但新容器却不往该主机部署。导致个别主机实际负载高、个别主机空闲的情况。请问要怎么配置调度才能更加合理。
截图:

这确实是一个Kubernetes default scheduler的问题,在和你使用类似的1.20版本上,我也遇到过。我排查后发现,default scheduler有一个策略:有cache容器镜像的node,在评分时会有较高权重。尤其是在扩容某个工作负载副本时,确实会出现这个问题。

针对 ImageLocality score plugin 的说明:https://github.com/kubernetes/kubernetes/issues/91204

我当时用的一个策略,预先尽可能在所有node上pull关键镜像,这样scheduler就不会被这个因素干扰了。

谢谢大佬指点,我研究看看

k8s调度策略计算的因素太多,不确定具体什么因素导致了集群的不均衡,我最终是通过descheduler插件来平衡主机容器数量。

1 个赞