猪齿鱼调度策略问题

  • Choerodon平台版本: 0.17.0

  • 遇到问题的执行步骤:华三云离线私有云环境下,部署的猪齿鱼集群有4个节点,均为8U*32G内存,从1-4节点分别部署的服务个数为:8+27+9+24=68个,68/4=17,即正常调度下,平均下来一个节点跑17个服务负载比较平均。但是现实情况是,node1和node3闲的出奇,CPU负载在3%以内,node2CPU负载在20%左右,但网络IO负载较高,node4 CPU负载高的离奇,90%以上甚至100%,且居高不下。在这种情况下,K8S调度策略是什么,为什么不会根据其他节点的负载,重新分配。kubectl cordon node4以后,在node4上执行kubectl delete pod后,POD会分配到其他节点,这种情况下,node4的负载才会下降,但效果依然不明显。
    从总体直观感受上面看,k8s的调度基本上没有起到任何作用,node4和node2的负载下降需要手工去delete pod才能完成,感觉是否别扭。请问是什么原因造成的。

  • 文档地址:无

  • 环境信息(如:节点信息):1master + 4 node

  • 报错日志: 无

  • 原因分析:

  • 疑问:

    K8s的调度到底是依据什么来做的,类似于这种负载已经严重倾斜的,为什么不主动去调度分配,而必须手工分配。

建议你先学习Kuberneters调度策略
https://kubernetes.io/docs/concepts/configuration/scheduling-framework/