在kubernetes大规模的实际使用中,scheduler作为调度器,将pod调度到集群的节点上,如何进行调度器的调优来满足调度的精度,确保业务连续性保持在较高的水位。
借此机会,给大家分享个场景,可以帮助大家解决相关问题:
在大规模集群的使用中,通过调节调度器的表现来平衡调度的延迟和精度,其中调度延迟指的是能否确保新的pod能都快速准确的提供服务,精度指的调度器每次决策都是可靠的。在具体的调优策略中,有两个参数来承接这部分的功能, kube-scheduler的percentageOfNodesToScore 来配置这个调优设置。KubeSchedulerConfiguration设置决定了调度集群中节点的阈值。percentageOfNodesToScore 选项接受从 0 到 100 之间的整数值。0 值比较特殊,表示 kube-scheduler 应该使用其编译后的默认值。如果你设置 percentageOfNodesToScore 的值超过了 100,kube-scheduler 的表现等价于设置值为 100。
而在实际过程中,可以使用整个集群节点总数的百分比作为阈值来指定需要多少节点就足够。kube-scheduler 会将它转换为节点数的整数值。在调度期间,如果 kube-scheduler 已确认的可调度节点数足以超过了配置的百分比数量,kube-scheduler将停止继续查找可调度节点并继续进行打分阶段。
收起