魔希达
1
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就不会被这个因素干扰了。
魔希达
4
k8s调度策略计算的因素太多,不确定具体什么因素导致了集群的不均衡,我最终是通过descheduler插件来平衡主机容器数量。
1 个赞